xref: /libCEED/julia/LibCEED.jl/src/Request.jl (revision 06988bf74cc6ac18eacafe7930f080803395ba29)
1*44554ea0SWill Paznerabstract type AbstractRequest end
2*44554ea0SWill Pazner
3*44554ea0SWill Paznerstruct RequestImmediate <: AbstractRequest end
4*44554ea0SWill PaznerBase.getindex(::RequestImmediate) = C.CEED_REQUEST_IMMEDIATE[]
5*44554ea0SWill Pazner
6*44554ea0SWill Paznerstruct RequestOrdered <: AbstractRequest end
7*44554ea0SWill PaznerBase.getindex(::RequestOrdered) = C.CEED_REQUEST_ORDERED[]
8*44554ea0SWill Pazner
9*44554ea0SWill Pazner#=
10*44554ea0SWill Pazner# CeedRequest is not fully implemented in libCEED. When it is implemented, the
11*44554ea0SWill Pazner# following can be used as a starting point for the Julia interface.
12*44554ea0SWill Pazner
13*44554ea0SWill Paznerstruct Request <: AbstractRequest
14*44554ea0SWill Pazner    ref::RefValue{C.CeedRequest}
15*44554ea0SWill Paznerend
16*44554ea0SWill Pazner
17*44554ea0SWill PaznerRequest() = Request(Ref{C.CeedRequest}())
18*44554ea0SWill Pazner
19*44554ea0SWill PaznerBase.wait(req::Request) = C.CeedRequestWait(req[])
20*44554ea0SWill Pazner=#
21