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