Struct rusteron_archive::AeronImage

source ·
pub struct AeronImage { /* private fields */ }

Implementations§

source§

impl AeronImage

source

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

source

pub fn constants( &self, constants: &AeronImageConstants, ) -> Result<i32, AeronCError>

Fill in a structure with the constants in use by a image.

§Parameters
  • image to get the constants for.

  • constants structure to fill in with the constants

§Return

0 for success and -1 for error.

source

pub fn position(&self) -> i64

The position this image has been consumed to by the subscriber.

§Return

the position this image has been consumed to by the subscriber.

source

pub fn set_position(&self, position: i64) -> Result<i32, AeronCError>

Set the subscriber position for this image to indicate where it has been consumed to.

§Parameters
  • image to set the position of.
source

pub fn is_end_of_stream(&self) -> bool

Is the current consumed position at the end of the stream?

§Return

true if at the end of the stream or false if not.

source

pub fn end_of_stream_position(&self) -> i64

The position the stream reached when EOS was received from the publisher. The position will be INT64_MAX until the stream ends and EOS is set.

§Return

position the stream reached when EOS was received from the publisher.

source

pub fn active_transport_count(&self) -> Result<i32, AeronCError>

Count of observed active transports within the image liveness timeout.

If the image is closed, then this is 0. This may also be 0 if no actual datagrams have arrived. IPC Images also will be 0.

§Return

count of active transports - 0 if Image is closed, no datagrams yet, or IPC. Or -1 for error.

source

pub fn poll<AeronFragmentHandlerHandlerImpl: AeronFragmentHandlerCallback>( &self, handler: Option<&Handler<AeronFragmentHandlerHandlerImpl>>, fragment_limit: usize, ) -> Result<i32, AeronCError>

Poll for new messages in a stream. If new messages are found beyond the last consumed position then they will be delivered to the handler up to a limited number of fragments as specified.

Use a fragment assembler to assemble messages which span multiple fragments.

§Parameters
  • handler to which message fragments are delivered.

  • clientd to pass to the handler.

  • fragment_limit for the number of fragments to be consumed during one polling operation.

§Return

the number of fragments that have been consumed or -1 for error.

source

pub fn controlled_poll<AeronControlledFragmentHandlerHandlerImpl: AeronControlledFragmentHandlerCallback>( &self, handler: Option<&Handler<AeronControlledFragmentHandlerHandlerImpl>>, fragment_limit: usize, ) -> Result<i32, AeronCError>

Poll for new messages in a stream. If new messages are found beyond the last consumed position then they will be delivered to the handler up to a limited number of fragments as specified.

Use a controlled fragment assembler to assemble messages which span multiple fragments.

§Parameters
  • handler to which message fragments are delivered.

  • clientd to pass to the handler.

  • fragment_limit for the number of fragments to be consumed during one polling operation.

§Return

the number of fragments that have been consumed or -1 for error.

source

pub fn bounded_poll<AeronFragmentHandlerHandlerImpl: AeronFragmentHandlerCallback>( &self, handler: Option<&Handler<AeronFragmentHandlerHandlerImpl>>, limit_position: i64, fragment_limit: usize, ) -> Result<i32, AeronCError>

Poll for new messages in a stream. If new messages are found beyond the last consumed position then they will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified.

Use a fragment assembler to assemble messages which span multiple fragments.

§Parameters
  • handler to which message fragments are delivered.

  • clientd to pass to the handler.

  • limit_position to consume messages up to.

  • fragment_limit for the number of fragments to be consumed during one polling operation.

§Return

the number of fragments that have been consumed or -1 for error.

source

pub fn bounded_controlled_poll<AeronControlledFragmentHandlerHandlerImpl: AeronControlledFragmentHandlerCallback>( &self, handler: Option<&Handler<AeronControlledFragmentHandlerHandlerImpl>>, limit_position: i64, fragment_limit: usize, ) -> Result<i32, AeronCError>

Poll for new messages in a stream. If new messages are found beyond the last consumed position then they will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified.

Use a controlled fragment assembler to assemble messages which span multiple fragments.

§Parameters
  • handler to which message fragments are delivered.

  • clientd to pass to the handler.

  • limit_position to consume messages up to.

  • fragment_limit for the number of fragments to be consumed during one polling operation.

§Return

the number of fragments that have been consumed or -1 for error.

source

pub fn controlled_peek<AeronControlledFragmentHandlerHandlerImpl: AeronControlledFragmentHandlerCallback>( &self, initial_position: i64, handler: Option<&Handler<AeronControlledFragmentHandlerHandlerImpl>>, limit_position: i64, ) -> i64

Peek for new messages in a stream by scanning forward from an initial position. If new messages are found then they will be delivered to the handler up to a limited position.

Use a controlled fragment assembler to assemble messages which span multiple fragments. Scans must also start at the beginning of a message so that the assembler is reset.

§Parameters
  • initial_position from which to peek forward.

  • handler to which message fragments are delivered.

  • clientd to pass to the handler.

  • limit_position up to which can be scanned.

§Return

the resulting position after the scan terminates which is a complete message or -1 for error.

source

pub fn block_poll<AeronBlockHandlerHandlerImpl: AeronBlockHandlerCallback>( &self, handler: Option<&Handler<AeronBlockHandlerHandlerImpl>>, block_length_limit: usize, ) -> Result<i32, AeronCError>

Poll for new messages in a stream. If new messages are found beyond the last consumed position then they will be delivered to the handler up to a limited number of bytes.

A scan will terminate if a padding frame is encountered. If first frame in a scan is padding then a block for the padding is notified. If the padding comes after the first frame in a scan then the scan terminates at the offset the padding frame begins. Padding frames are delivered singularly in a block.

Padding frames may be for a greater range than the limit offset but only the header needs to be valid so relevant length of the frame is data header length.

§Parameters
  • handler to which block is delivered.

  • clientd to pass to the handler.

  • block_length_limit up to which a block may be in length.

§Return

the number of bytes that have been consumed or -1 for error.

source

pub fn is_closed(&self) -> bool

source

pub fn reject(&self, reason: &str) -> Result<i32, AeronCError>

Force the driver to disconnect this image from the remote publication.

§Parameters
  • reason an error message to be forwarded back to the publication.
source

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

Trait Implementations§

source§

impl Clone for AeronImage

source§

fn clone(&self) -> AeronImage

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 AeronImage

source§

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

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

impl Deref for AeronImage

source§

type Target = aeron_image_stct

The resulting type after dereferencing.
source§

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

Dereferences the value.
source§

impl From<&AeronImage> for *mut aeron_image_t

source§

fn from(value: &AeronImage) -> Self

Converts to this type from the input type.
source§

impl From<*const aeron_image_stct> for AeronImage

source§

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

Converts to this type from the input type.
source§

impl From<*mut aeron_image_stct> for AeronImage

source§

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

Converts to this type from the input type.
source§

impl From<AeronImage> for *mut aeron_image_t

source§

fn from(value: AeronImage) -> Self

Converts to this type from the input type.
source§

impl From<AeronImage> for aeron_image_t

source§

fn from(value: AeronImage) -> Self

Converts to this type from the input type.
source§

impl From<aeron_image_stct> for AeronImage

source§

fn from(value: aeron_image_t) -> Self

Converts to this type from the input type.

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 T)

🔬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<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.