rusteron_rb

Struct AeronMpscRb

Source
pub struct AeronMpscRb { /* private fields */ }

Implementations§

Source§

impl AeronMpscRb

Source

pub fn new( buffer: *mut u8, descriptor: &AeronRbDescriptor, capacity: usize, max_message_length: usize, ) -> Result<Self, AeronCError>

Source

pub fn new_zeroed() -> Result<Self, AeronCError>

creates zeroed struct where the underlying c struct is on the heap

Source

pub fn buffer(&self) -> *mut u8

Source

pub fn descriptor(&self) -> AeronRbDescriptor

Source

pub fn capacity(&self) -> usize

Source

pub fn max_message_length(&self) -> usize

Source

pub fn init( &self, buffer: *mut c_void, length: usize, ) -> Result<i32, AeronCError>

Source

pub fn write( &self, msg_type_id: i32, msg: *const c_void, length: usize, ) -> aeron_rb_write_result_t

Source

pub fn try_claim(&self, msg_type_id: i32, length: usize) -> i32

Source

pub fn commit(&self, offset: i32) -> Result<i32, AeronCError>

Source

pub fn abort(&self, offset: i32) -> Result<i32, AeronCError>

Source

pub fn read<AeronRbHandlerHandlerImpl: AeronRbHandlerCallback>( &self, handler: Option<&Handler<AeronRbHandlerHandlerImpl>>, message_count_limit: usize, ) -> usize

Source

pub fn read_once<AeronRbHandlerHandlerImpl: FnMut(i32, *const c_void, usize)>( &self, handler: AeronRbHandlerHandlerImpl, message_count_limit: usize, ) -> usize

NOTE: aeron must not store this closure and instead use it immediately. If not you will get undefined behaviour, use with care

Source

pub fn controlled_read<AeronRbControlledHandlerHandlerImpl: AeronRbControlledHandlerCallback>( &self, handler: Option<&Handler<AeronRbControlledHandlerHandlerImpl>>, message_count_limit: usize, ) -> usize

Source

pub fn controlled_read_once<AeronRbControlledHandlerHandlerImpl: FnMut(i32, *const c_void, usize) -> aeron_rb_read_action_t>( &self, handler: AeronRbControlledHandlerHandlerImpl, message_count_limit: usize, ) -> usize

NOTE: aeron must not store this closure and instead use it immediately. If not you will get undefined behaviour, use with care

Source

pub fn next_correlation_id(&self) -> i64

Source

pub fn consumer_heartbeat_time(&self, now_ms: i64)

Source

pub fn consumer_heartbeat_time_value(&self) -> i64

Source

pub fn unblock(&self) -> bool

Source

pub fn get_inner(&self) -> *mut aeron_mpsc_rb_t

Source§

impl AeronMpscRb

Source

pub fn clone_struct(&self) -> Self

Regular clone just increases the reference count of underlying count. clone_struct shallow copies the content of the underlying struct on heap.

NOTE: if the struct has references to other structs these will not be copied

Must be only used on structs which has no init/clean up methods. So its danagerous to use with Aeron/AeronContext/AeronPublication/AeronSubscription More intended for AeronArchiveRecordingDescriptor

Source§

impl AeronMpscRb

Source

pub fn buffer_mut(&self) -> &mut [u8]

Source

pub fn buffer_at_mut(&self, idx: usize, len: usize) -> &mut [u8]

Source§

impl AeronMpscRb

Source

pub fn try_claim_slice<'a>( &'a self, msg_type_id: i32, length: usize, ) -> Result<AeronMpscRbSlot<'a>, AeronCError>

Source

pub fn from_slice( buffer: &mut [u8], max_msg_size: usize, ) -> Result<Self, AeronCError>

Source

pub fn new_with_capacity( capacity: usize, max_msg_size: usize, ) -> Result<Self, AeronCError>

Source§

impl AeronMpscRb

Trait Implementations§

Source§

impl Clone for AeronMpscRb

Source§

fn clone(&self) -> AeronMpscRb

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AeronMpscRb

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AeronMpscRb

This will create an instance where the struct is zeroed, use with care

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Deref for AeronMpscRb

Source§

type Target = aeron_mpsc_rb_stct

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl From<&AeronMpscRb> for *mut aeron_mpsc_rb_t

Source§

fn from(value: &AeronMpscRb) -> Self

Converts to this type from the input type.
Source§

impl From<*const aeron_mpsc_rb_stct> for AeronMpscRb

Source§

fn from(value: *const aeron_mpsc_rb_t) -> Self

Converts to this type from the input type.
Source§

impl From<*mut aeron_mpsc_rb_stct> for AeronMpscRb

Source§

fn from(value: *mut aeron_mpsc_rb_t) -> Self

Converts to this type from the input type.
Source§

impl From<AeronMpscRb> for *mut aeron_mpsc_rb_t

Source§

fn from(value: AeronMpscRb) -> Self

Converts to this type from the input type.
Source§

impl From<AeronMpscRb> for aeron_mpsc_rb_t

Source§

fn from(value: AeronMpscRb) -> Self

Converts to this type from the input type.
Source§

impl From<aeron_mpsc_rb_stct> for AeronMpscRb

Source§

fn from(value: aeron_mpsc_rb_t) -> Self

Converts to this type from the input type.
Source§

impl Send for AeronMpscRb

Source§

impl Sync for AeronMpscRb

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.