pub struct AeronDataPacketDispatcher { /* private fields */ }Implementations§
Source§impl AeronDataPacketDispatcher
impl AeronDataPacketDispatcher
pub fn new( ignored_sessions_map: AeronInt64ToPtrHashMap, session_by_stream_id_map: AeronInt64ToPtrHashMap, tokens: aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct, conductor_proxy: &AeronDriverConductorProxy, receiver: &AeronDriverReceiver, stream_session_limit: i32, ) -> Result<Self, AeronCError>
Sourcepub fn new_zeroed_on_heap() -> Self
pub fn new_zeroed_on_heap() -> Self
creates zeroed struct where the underlying c struct is on the heap
Sourcepub fn new_zeroed_on_stack() -> Self
pub fn new_zeroed_on_stack() -> Self
creates zeroed struct where the underlying c struct is on the stack (Use with care)
pub fn ignored_sessions_map(&self) -> AeronInt64ToPtrHashMap
pub fn session_by_stream_id_map(&self) -> AeronInt64ToPtrHashMap
pub fn tokens( &self, ) -> aeron_data_packet_dispatcher_stct_aeron_data_packet_dispatcher_tokens_stct
pub fn conductor_proxy(&self) -> AeronDriverConductorProxy
pub fn receiver(&self) -> AeronDriverReceiver
pub fn stream_session_limit(&self) -> i32
pub fn init( &self, conductor_proxy: &AeronDriverConductorProxy, receiver: &AeronDriverReceiver, ) -> Result<i32, AeronCError>
pub fn add_subscription(&self, stream_id: i32) -> Result<i32, AeronCError>
pub fn add_subscription_by_session( &self, stream_id: i32, session_id: i32, ) -> Result<i32, AeronCError>
pub fn remove_subscription(&self, stream_id: i32) -> Result<i32, AeronCError>
pub fn remove_subscription_by_session( &self, stream_id: i32, session_id: i32, ) -> Result<i32, AeronCError>
pub fn add_publication_image( &self, image: &AeronPublicationImage, ) -> Result<i32, AeronCError>
pub fn remove_publication_image( &self, image: &AeronPublicationImage, ) -> Result<i32, AeronCError>
pub fn has_interest_in(&self, stream_id: i32, session_id: i32) -> bool
pub fn on_data( &self, endpoint: &AeronReceiveChannelEndpoint, destination: &AeronReceiveDestination, header: &AeronDataHeader, buffer: &mut [u8], addr: &SockaddrStorage, ) -> Result<i32, AeronCError>
pub fn on_setup( &self, endpoint: &AeronReceiveChannelEndpoint, destination: &AeronReceiveDestination, header: &AeronSetupHeader, buffer: &mut [u8], addr: &SockaddrStorage, ) -> Result<i32, AeronCError>
pub fn on_rttm( &self, endpoint: &AeronReceiveChannelEndpoint, destination: &AeronReceiveDestination, header: &AeronRttmHeader, buffer: &mut [u8], addr: &SockaddrStorage, ) -> Result<i32, AeronCError>
pub fn try_connect_stream( &self, endpoint: &AeronReceiveChannelEndpoint, destination: &AeronReceiveDestination, stream_id: i32, session_id: i32, addr: &SockaddrStorage, ) -> Result<i32, AeronCError>
pub fn elicit_setup_from_source( &self, stream_interest: &AeronDataPacketDispatcherStreamInterest, endpoint: &AeronReceiveChannelEndpoint, destination: &AeronReceiveDestination, addr: &SockaddrStorage, stream_id: i32, session_id: i32, ) -> Result<i32, AeronCError>
pub fn remove_pending_setup(&self, session_id: i32, stream_id: i32)
pub fn get_inner(&self) -> *mut aeron_data_packet_dispatcher_t
Sourcepub unsafe fn get_inner_mut(&self) -> &mut aeron_data_packet_dispatcher_t
pub unsafe fn get_inner_mut(&self) -> &mut aeron_data_packet_dispatcher_t
Mutable access to the underlying C struct, minted from &self: nothing
prevents two live &mut at once, so the caller must ensure exclusive
access for the lifetime of the returned reference.
§Safety
No other reference (& or &mut) to the underlying struct may be
alive while the returned &mut is in use.
pub fn get_inner_ref(&self) -> &aeron_data_packet_dispatcher_t
Source§impl AeronDataPacketDispatcher
impl AeronDataPacketDispatcher
Sourcepub fn clone_struct(&self) -> Self
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 dangerous to use with Aeron/AeronContext/AeronPublication/AeronSubscription More intended for AeronArchiveRecordingDescriptor (note strings will not work as its a shallow copy)
Trait Implementations§
Source§impl Clone for AeronDataPacketDispatcher
impl Clone for AeronDataPacketDispatcher
Source§fn clone(&self) -> AeronDataPacketDispatcher
fn clone(&self) -> AeronDataPacketDispatcher
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AeronDataPacketDispatcher
impl Debug for AeronDataPacketDispatcher
Source§impl Default for AeronDataPacketDispatcher
This will create an instance where the struct is zeroed, use with care
impl Default for AeronDataPacketDispatcher
This will create an instance where the struct is zeroed, use with care