Struct ocl::async::BufferSink [−][src]
pub struct BufferSink<T: OclPrm> { /* fields omitted */ }
Represents mapped memory and allows frames of data to be 'flushed' (written) from host-accessible mapped memory region into its associated device-visible buffer in a repeated fashion.
This represents the fastest possible method for continuously writing frames of data to a device.
Methods
impl<T: OclPrm> BufferSink<T>
[src]
impl<T: OclPrm> BufferSink<T>
pub fn new(queue: Queue, len: usize) -> OclResult<BufferSink<T>>
[src]
pub fn new(queue: Queue, len: usize) -> OclResult<BufferSink<T>>
Returns a new BufferSink
.
The current thread will be blocked while the buffer is initialized upon calling this function.
pub unsafe fn from_buffer(
buffer: Buffer<T>,
queue: Option<Queue>,
default_offset: usize,
default_len: usize
) -> OclResult<BufferSink<T>>
[src]
pub unsafe fn from_buffer(
buffer: Buffer<T>,
queue: Option<Queue>,
default_offset: usize,
default_len: usize
) -> OclResult<BufferSink<T>>
pub fn read(self) -> FutureGuard<Inner<T>, ReadGuard<Inner<T>>>
[src]
pub fn read(self) -> FutureGuard<Inner<T>, ReadGuard<Inner<T>>>
Returns a new FutureGuard
which will resolve into a a ReadGuard
.
pub fn write(self) -> FutureGuard<Inner<T>, WriteGuard<Inner<T>>>
[src]
pub fn write(self) -> FutureGuard<Inner<T>, WriteGuard<Inner<T>>>
Returns a new FutureGuard
which will resolve into a a WriteGuard
.
pub fn flush<'c>(self) -> FlushCmd<'c, T>
[src]
pub fn flush<'c>(self) -> FlushCmd<'c, T>
Returns a command builder which, once enqueued, will flush data from the mapped memory region to the device.
pub fn buffer(&self) -> &Buffer<T>
[src]
pub fn buffer(&self) -> &Buffer<T>
Returns a reference to the internal buffer.
pub fn memory(&self) -> &MemMapCore<T>
[src]
pub fn memory(&self) -> &MemMapCore<T>
Returns a reference to the internal memory mapping.
pub fn default_offset(&self) -> usize
[src]
pub fn default_offset(&self) -> usize
Returns a reference to the internal offset.
pub fn default_len(&self) -> usize
[src]
pub fn default_len(&self) -> usize
Returns the length of the memory region.
pub unsafe fn as_mut_slice(&self) -> &mut [T]
[src]
pub unsafe fn as_mut_slice(&self) -> &mut [T]
Returns a mutable slice into the contained memory region.
Used by buffer command builders when preparing future read and write commands.
Do not use unless you are 100% certain that there will be no other reads or writes for the entire access duration (only possible if manually manipulating the lock status).
pub fn id(&self) -> usize
[src]
pub fn id(&self) -> usize
Returns a pointer address to the internal memory region, usable as a unique identifier.
Trait Implementations
impl<T: Clone + OclPrm> Clone for BufferSink<T>
[src]
impl<T: Clone + OclPrm> Clone for BufferSink<T>
fn clone(&self) -> BufferSink<T>
[src]
fn clone(&self) -> BufferSink<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<T: Debug + OclPrm> Debug for BufferSink<T>
[src]
impl<T: Debug + OclPrm> Debug for BufferSink<T>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T: OclPrm> From<OrderLock<Inner<T>>> for BufferSink<T>
[src]
impl<T: OclPrm> From<OrderLock<Inner<T>>> for BufferSink<T>
fn from(order_lock: OrderLock<Inner<T>>) -> BufferSink<T>
[src]
fn from(order_lock: OrderLock<Inner<T>>) -> BufferSink<T>
Performs the conversion.
Auto Trait Implementations
impl<T> Send for BufferSink<T>
impl<T> Send for BufferSink<T>
impl<T> Sync for BufferSink<T>
impl<T> Sync for BufferSink<T>