pub struct AeronDriverSender { /* private fields */ }Implementations§
Source§impl AeronDriverSender
impl AeronDriverSender
pub fn new( sender_proxy: AeronDriverSenderProxy, poller: aeron_udp_transport_poller_t, network_publications: aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct, recv_buffers: aeron_driver_sender_stct_aeron_driver_sender_buffers_stct, data_paths: AeronUdpChannelDataPaths, total_bytes_sent_counter: &mut i64, errors_counter: &mut i64, invalid_frames_counter: &mut i64, status_messages_received_counter: &mut i64, status_messages_rejected_counter: &mut i64, nak_messages_received_counter: &mut i64, error_messages_received_counter: &mut i64, resolution_changes_counter: &mut i64, short_sends_counter: &mut i64, context: &AeronDriverContext, poller_poll_func: aeron_udp_transport_poller_poll_func_t, recvmmsg_func: aeron_udp_channel_transport_recvmmsg_func_t, error_log: &AeronDistinctErrorLog, status_message_read_timeout_ns: i64, control_poll_timeout_ns: i64, re_resolution_deadline_ns: i64, round_robin_index: usize, duty_cycle_counter: usize, duty_cycle_ratio: usize, padding: [u8; 64], ) -> 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 sender_proxy(&self) -> AeronDriverSenderProxy
pub fn poller(&self) -> aeron_udp_transport_poller_t
pub fn network_publications( &self, ) -> aeron_driver_sender_stct_aeron_driver_sender_network_publications_stct
pub fn recv_buffers( &self, ) -> aeron_driver_sender_stct_aeron_driver_sender_buffers_stct
pub fn data_paths(&self) -> AeronUdpChannelDataPaths
pub fn total_bytes_sent_counter(&self) -> &mut i64
pub fn errors_counter(&self) -> &mut i64
pub fn invalid_frames_counter(&self) -> &mut i64
pub fn status_messages_received_counter(&self) -> &mut i64
pub fn status_messages_rejected_counter(&self) -> &mut i64
pub fn nak_messages_received_counter(&self) -> &mut i64
pub fn error_messages_received_counter(&self) -> &mut i64
pub fn resolution_changes_counter(&self) -> &mut i64
pub fn short_sends_counter(&self) -> &mut i64
pub fn context(&self) -> AeronDriverContext
pub fn poller_poll_func(&self) -> aeron_udp_transport_poller_poll_func_t
pub fn recvmmsg_func(&self) -> aeron_udp_channel_transport_recvmmsg_func_t
pub fn error_log(&self) -> AeronDistinctErrorLog
pub fn status_message_read_timeout_ns(&self) -> i64
pub fn control_poll_timeout_ns(&self) -> i64
pub fn re_resolution_deadline_ns(&self) -> i64
pub fn round_robin_index(&self) -> usize
pub fn duty_cycle_counter(&self) -> usize
pub fn duty_cycle_ratio(&self) -> usize
pub fn padding(&self) -> [u8; 64]
pub fn aeron_send_channel_endpoint_on_status_message( &self, endpoint: &AeronSendChannelEndpoint, conductor_proxy: &AeronDriverConductorProxy, buffer: &mut [u8], addr: &SockaddrStorage, ) -> Result<i32, AeronCError>
pub fn init( &self, context: &AeronDriverContext, system_counters: &AeronSystemCounters, error_log: &AeronDistinctErrorLog, ) -> Result<i32, AeronCError>
pub fn do_work(clientd: *mut c_void) -> Result<i32, AeronCError>
pub fn on_close(clientd: *mut c_void)
pub fn on_add_endpoint(clientd: *mut c_void, command: *mut c_void)
pub fn on_remove_endpoint(clientd: *mut c_void, command: *mut c_void)
pub fn on_add_publication(clientd: *mut c_void, command: *mut c_void)
pub fn on_remove_publication(clientd: *mut c_void, command: *mut c_void)
pub fn on_add_destination(clientd: *mut c_void, command: *mut c_void)
pub fn on_remove_destination(clientd: *mut c_void, command: *mut c_void)
pub fn on_remove_destination_by_id(clientd: *mut c_void, command: *mut c_void)
pub fn on_resolution_change(clientd: *mut c_void, command: *mut c_void)
pub fn do_send(&self, now_ns: i64) -> Result<i32, AeronCError>
pub fn get_inner(&self) -> *mut aeron_driver_sender_t
Sourcepub unsafe fn get_inner_mut(&self) -> &mut aeron_driver_sender_t
pub unsafe fn get_inner_mut(&self) -> &mut aeron_driver_sender_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_driver_sender_t
Source§impl AeronDriverSender
impl AeronDriverSender
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 AeronDriverSender
impl Clone for AeronDriverSender
Source§fn clone(&self) -> AeronDriverSender
fn clone(&self) -> AeronDriverSender
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AeronDriverSender
impl Debug for AeronDriverSender
Source§impl Default for AeronDriverSender
This will create an instance where the struct is zeroed, use with care
impl Default for AeronDriverSender
This will create an instance where the struct is zeroed, use with care