[][src]Struct aeron_rs::concurrent::logbuffer::term_appender::TermAppender

pub struct TermAppender { /* fields omitted */ }

Methods

impl TermAppender[src]

pub fn new(
    term_buffer: AtomicBuffer,
    meta_data_buffer: AtomicBuffer,
    partition_index: Index
) -> Self
[src]

Term buffer - for messages Meta data buffer - for metadata used by Aeron for maintaining messages flow Partition index - is number 0, 1 ... X which are indexes of this particular term appender in the array of other appenders. All appenders share one metadata buffer therefore each appender uses its own space inside metadata buffer known as tail_buffer.

pub fn term_buffer(&self) -> AtomicBuffer[src]

pub fn raw_tail_volatile(&self) -> i64[src]

pub fn claim(
    &self,
    header: &HeaderWriter,
    length: Index,
    buffer_claim: &mut BufferClaim,
    active_term_id: i32
) -> Result<Index, AeronError>
[src]

This fn publish message (with the size less than MTU) which was previously stored in internal term_buffer via append_..._message(). MTU is a maximum transmission unit and its set on a channel level. header - header writer which already points to header part of metadata buffer. Specific header info will be written inside claim() length - length of the message body (payload) buffer_claim - buffer in to which msg will be "written" (actually wrapped) from term_buffer active_term_id - the term to write message to

pub fn append_unfragmented_message(
    &self,
    header: &HeaderWriter,
    msg_body_buffer: &AtomicBuffer,
    msg_body_offset: Index,
    length: Index,
    reserved_value_supplier: OnReservedValueSupplier,
    active_term_id: i32
) -> Result<Index, AeronError>
[src]

This fn copy supplied (in msg_body_buffer) message in to internal term_buffer

pub fn append_unfragmented_message_bulk(
    &self,
    header: &HeaderWriter,
    buffers: Vec<AtomicBuffer>,
    length: Index,
    reserved_value_supplier: OnReservedValueSupplier,
    active_term_id: i32
) -> Result<Index, AeronError>
[src]

Appends unfrag message which is inside several AtomicBuffers passed as Vec

pub fn append_fragmented_message(
    &self,
    header: &HeaderWriter,
    msg_body_buffer: &AtomicBuffer,
    msg_body_offset: Index,
    length: Index,
    max_payload_length: Index,
    reserved_value_supplier: OnReservedValueSupplier,
    active_term_id: i32
) -> Result<Index, AeronError>
[src]

This fn copy supplied (in msg_body_buffer) message in to internal term_buffer

pub fn append_fragmented_message_bulk(
    &mut self,
    header: &HeaderWriter,
    buffers: Vec<AtomicBuffer>,
    length: Index,
    max_payload_length: Index,
    reserved_value_supplier: OnReservedValueSupplier,
    active_term_id: i32
) -> Result<Index, AeronError>
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.