Struct ocl::async::FutureMemMap
source · pub struct FutureMemMap<T: OclPrm> { /* private fields */ }
Expand description
A future which resolves to a MemMap
as soon as its creating command
completes.
[UNSTABLE]: This type’s methods may be renamed or otherwise changed at any time.
Implementations§
source§impl<T: OclPrm> FutureMemMap<T>
impl<T: OclPrm> FutureMemMap<T>
sourcepub unsafe fn new(
core: MemMapCore<T>,
len: usize,
map_event: Event,
buffer: Mem,
queue: Queue
) -> FutureMemMap<T>
pub unsafe fn new( core: MemMapCore<T>, len: usize, map_event: Event, buffer: Mem, queue: Queue ) -> FutureMemMap<T>
Returns a new FutureMemMap
.
sourcepub fn set_unmap_wait_events<El>(&mut self, wait_events: El)
pub fn set_unmap_wait_events<El>(&mut self, wait_events: El)
Set an event wait list for the unmap command.
Setting a wait list here will disallow any wait list from being set later if/when calling unmap manually.
[UNSTABLE]: This method may be renamed or otherwise changed.
sourcepub fn ewait_unmap<L: Into<EventList>>(self, wait_events: L) -> FutureMemMap<T>
pub fn ewait_unmap<L: Into<EventList>>(self, wait_events: L) -> FutureMemMap<T>
Set an event wait list for the unmap command.
See ::set_unmap_wait_events
.
sourcepub fn create_unmap_event(&mut self) -> OclResult<&mut Event>
pub fn create_unmap_event(&mut self) -> OclResult<&mut Event>
Create an event which will be triggered (set complete) after this
future resolves into a MemMap
and after that MemMap
is dropped
or manually unmapped.
The returned event can be added to the wait list of subsequent OpenCL commands with the expectation that when all preceeding futures are complete, the event will automatically be ‘triggered’ by having its status set to complete, causing those commands to execute. This can be used to inject host side code in amongst OpenCL commands without thread blocking or extra delays of any kind.
[UNSTABLE]: This method may be renamed or otherwise changed.
sourcepub fn enew_unmap<En>(self, enew: En) -> FutureMemMap<T>where
En: ClNullEventPtr,
pub fn enew_unmap<En>(self, enew: En) -> FutureMemMap<T>where
En: ClNullEventPtr,
Specifies an event which will be triggered (set complete) after this
future resolves into a MemMap
and after that MemMap
is dropped
or manually unmapped.
See ::create_unmap_event
.
sourcepub fn set_unmap_queue(&mut self, queue: Queue)
pub fn set_unmap_queue(&mut self, queue: Queue)
Specifies the queue to be used for the unmap command.
sourcepub fn with_unmap_queue(self, queue: Queue) -> FutureMemMap<T>
pub fn with_unmap_queue(self, queue: Queue) -> FutureMemMap<T>
Specifies the queue to be used for the unmap command.
sourcepub fn unmap_event(&self) -> Option<&Event>
pub fn unmap_event(&self) -> Option<&Event>
Returns the unmap event if it has been created.
[UNSTABLE]: This method may be renamed or otherwise changed.
Trait Implementations§
source§impl<T> Future for FutureMemMap<T>where
T: OclPrm + 'static,
impl<T> Future for FutureMemMap<T>where
T: OclPrm + 'static,
§type Error = Error
type Error = Error
source§fn poll(&mut self) -> Poll<Self::Item, Self::Error>
fn poll(&mut self) -> Poll<Self::Item, Self::Error>
source§fn wait(self) -> Result<Self::Item, Self::Error>where
Self: Sized,
fn wait(self) -> Result<Self::Item, Self::Error>where
Self: Sized,
source§fn map<F, U>(self, f: F) -> Map<Self, F>
fn map<F, U>(self, f: F) -> Map<Self, F>
source§fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
source§fn from_err<E>(self) -> FromErr<Self, E>
fn from_err<E>(self) -> FromErr<Self, E>
From
for
this future’s Error
, returning a new future. Read moresource§fn then<F, B>(self, f: F) -> Then<Self, B, F>
fn then<F, B>(self, f: F) -> Then<Self, B, F>
f
. Read moresource§fn and_then<F, B>(self, f: F) -> AndThen<Self, B, F>
fn and_then<F, B>(self, f: F) -> AndThen<Self, B, F>
source§fn or_else<F, B>(self, f: F) -> OrElse<Self, B, F>
fn or_else<F, B>(self, f: F) -> OrElse<Self, B, F>
source§fn select<B>(self, other: B) -> Select<Self, <B as IntoFuture>::Future>
fn select<B>(self, other: B) -> Select<Self, <B as IntoFuture>::Future>
source§fn select2<B>(self, other: B) -> Select2<Self, <B as IntoFuture>::Future>where
B: IntoFuture,
Self: Sized,
fn select2<B>(self, other: B) -> Select2<Self, <B as IntoFuture>::Future>where
B: IntoFuture,
Self: Sized,
source§fn join<B>(self, other: B) -> Join<Self, <B as IntoFuture>::Future>
fn join<B>(self, other: B) -> Join<Self, <B as IntoFuture>::Future>
source§fn join3<B, C>(
self,
b: B,
c: C
) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future>
fn join3<B, C>( self, b: B, c: C ) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future>
join
, but with more futures.source§fn join4<B, C, D>(
self,
b: B,
c: C,
d: D
) -> Join4<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future>where
B: IntoFuture<Error = Self::Error>,
C: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
Self: Sized,
fn join4<B, C, D>(
self,
b: B,
c: C,
d: D
) -> Join4<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future>where
B: IntoFuture<Error = Self::Error>,
C: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
Self: Sized,
join
, but with more futures.source§fn join5<B, C, D, E>(
self,
b: B,
c: C,
d: D,
e: E
) -> Join5<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future, <E as IntoFuture>::Future>where
B: IntoFuture<Error = Self::Error>,
C: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
E: IntoFuture<Error = Self::Error>,
Self: Sized,
fn join5<B, C, D, E>(
self,
b: B,
c: C,
d: D,
e: E
) -> Join5<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future, <E as IntoFuture>::Future>where
B: IntoFuture<Error = Self::Error>,
C: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
E: IntoFuture<Error = Self::Error>,
Self: Sized,
join
, but with more futures.source§fn into_stream(self) -> IntoStream<Self>where
Self: Sized,
fn into_stream(self) -> IntoStream<Self>where
Self: Sized,
source§fn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
poll
will never again be called once it has
completed. Read more