1abstract type AbstractRequest end 2 3struct RequestImmediate <: AbstractRequest end 4Base.getindex(::RequestImmediate) = C.CEED_REQUEST_IMMEDIATE[] 5 6struct RequestOrdered <: AbstractRequest end 7Base.getindex(::RequestOrdered) = C.CEED_REQUEST_ORDERED[] 8 9#= 10# CeedRequest is not fully implemented in libCEED. When it is implemented, the 11# following can be used as a starting point for the Julia interface. 12 13struct Request <: AbstractRequest 14 ref::RefValue{C.CeedRequest} 15end 16 17Request() = Request(Ref{C.CeedRequest}()) 18 19Base.wait(req::Request) = C.CeedRequestWait(req[]) 20=# 21