[−][src]Struct fil_ocl::FutureMemMap
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.
Methods
impl<T: OclPrm> FutureMemMap<T>
[src]
pub unsafe fn new(
core: MemMapCore<T>,
len: usize,
map_event: Event,
buffer: Mem,
queue: Queue
) -> FutureMemMap<T>
[src]
core: MemMapCore<T>,
len: usize,
map_event: Event,
buffer: Mem,
queue: Queue
) -> FutureMemMap<T>
Returns a new FutureMemMap
.
pub fn set_unmap_wait_events<El>(&mut self, wait_events: El) where
El: Into<EventList>,
[src]
El: Into<EventList>,
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.
pub fn ewait_unmap<L: Into<EventList>>(self, wait_events: L) -> FutureMemMap<T>
[src]
Set an event wait list for the unmap command.
See ::set_unmap_wait_events
.
pub fn create_unmap_event(&mut self) -> OclResult<&mut Event>
[src]
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.
pub fn enew_unmap<En>(self, enew: En) -> FutureMemMap<T> where
En: ClNullEventPtr,
[src]
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
.
pub fn set_unmap_queue(&mut self, queue: Queue)
[src]
Specifies the queue to be used for the unmap command.
pub fn with_unmap_queue(self, queue: Queue) -> FutureMemMap<T>
[src]
Specifies the queue to be used for the unmap command.
pub fn unmap_event(&self) -> Option<&Event>
[src]
Returns the unmap event if it has been created.
[UNSTABLE]: This method may be renamed or otherwise changed.
pub fn wait(self) -> OclResult<MemMap<T>>
[src]
Blocks the current thread until the OpenCL command is complete and an appropriate lock can be obtained on the underlying data.
Trait Implementations
impl<T: OclPrm> Send for FutureMemMap<T>
[src]
impl<T: OclPrm> Sync for FutureMemMap<T>
[src]
impl<T: Debug + OclPrm> Debug for FutureMemMap<T>
[src]
impl<T> Future for FutureMemMap<T> where
T: OclPrm + 'static,
[src]
T: OclPrm + 'static,
type Item = MemMap<T>
The type of value that this future will resolved with if it is successful. Read more
type Error = OclError
The type of error that this future will resolve with if it fails in a normal fashion. Read more
fn poll(&mut self) -> Poll<Self::Item, Self::Error>
[src]
fn wait(self) -> Result<Self::Item, Self::Error>
[src]
fn map<F, U>(self, f: F) -> Map<Self, F> where
F: FnOnce(Self::Item) -> U,
[src]
F: FnOnce(Self::Item) -> U,
fn map_err<F, E>(self, f: F) -> MapErr<Self, F> where
F: FnOnce(Self::Error) -> E,
[src]
F: FnOnce(Self::Error) -> E,
fn from_err<E>(self) -> FromErr<Self, E> where
E: From<Self::Error>,
[src]
E: From<Self::Error>,
fn then<F, B>(self, f: F) -> Then<Self, B, F> where
B: IntoFuture,
F: FnOnce(Result<Self::Item, Self::Error>) -> B,
[src]
B: IntoFuture,
F: FnOnce(Result<Self::Item, Self::Error>) -> B,
fn and_then<F, B>(self, f: F) -> AndThen<Self, B, F> where
B: IntoFuture<Error = Self::Error>,
F: FnOnce(Self::Item) -> B,
[src]
B: IntoFuture<Error = Self::Error>,
F: FnOnce(Self::Item) -> B,
fn or_else<F, B>(self, f: F) -> OrElse<Self, B, F> where
B: IntoFuture<Item = Self::Item>,
F: FnOnce(Self::Error) -> B,
[src]
B: IntoFuture<Item = Self::Item>,
F: FnOnce(Self::Error) -> B,
fn select<B>(self, other: B) -> Select<Self, <B as IntoFuture>::Future> where
B: IntoFuture<Item = Self::Item, Error = Self::Error>,
[src]
B: IntoFuture<Item = Self::Item, Error = Self::Error>,
fn select2<B>(self, other: B) -> Select2<Self, <B as IntoFuture>::Future> where
B: IntoFuture,
[src]
B: IntoFuture,
fn join<B>(self, other: B) -> Join<Self, <B as IntoFuture>::Future> where
B: IntoFuture<Error = Self::Error>,
[src]
B: IntoFuture<Error = Self::Error>,
fn join3<B, C>(
self,
b: B,
c: C
) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future> where
B: IntoFuture<Error = Self::Error>,
C: IntoFuture<Error = Self::Error>,
[src]
self,
b: B,
c: C
) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future> where
B: IntoFuture<Error = Self::Error>,
C: IntoFuture<Error = Self::Error>,
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>,
[src]
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>,
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>,
[src]
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>,
fn into_stream(self) -> IntoStream<Self>
[src]
fn flatten(self) -> Flatten<Self> where
Self::Item: IntoFuture,
<Self::Item as IntoFuture>::Error: From<Self::Error>,
[src]
Self::Item: IntoFuture,
<Self::Item as IntoFuture>::Error: From<Self::Error>,
fn flatten_stream(self) -> FlattenStream<Self> where
Self::Item: Stream,
<Self::Item as Stream>::Error == Self::Error,
[src]
Self::Item: Stream,
<Self::Item as Stream>::Error == Self::Error,
fn fuse(self) -> Fuse<Self>
[src]
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnOnce(&Self::Item),
[src]
F: FnOnce(&Self::Item),
fn catch_unwind(self) -> CatchUnwind<Self> where
Self: UnwindSafe,
[src]
Self: UnwindSafe,
fn shared(self) -> Shared<Self>
[src]
Auto Trait Implementations
impl<T> Unpin for FutureMemMap<T>
impl<T> UnwindSafe for FutureMemMap<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> RefUnwindSafe for FutureMemMap<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<F> IntoFuture for F where
F: Future,
[src]
F: Future,