pub struct AeronUdpChannelDataPaths { /* private fields */ }Implementations§
Source§impl AeronUdpChannelDataPaths
impl AeronUdpChannelDataPaths
pub fn new( outgoing_interceptors: &AeronUdpChannelOutgoingInterceptor, incoming_interceptors: &AeronUdpChannelIncomingInterceptor, send_func: aeron_udp_channel_transport_send_func_t, recv_func: aeron_udp_transport_recv_func_t, ) -> 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 outgoing_interceptors(&self) -> AeronUdpChannelOutgoingInterceptor
pub fn incoming_interceptors(&self) -> AeronUdpChannelIncomingInterceptor
pub fn send_func(&self) -> aeron_udp_channel_transport_send_func_t
pub fn recv_func(&self) -> aeron_udp_transport_recv_func_t
pub fn aeron_udp_channel_incoming_interceptor_recv_func( &self, transport: *mut aeron_udp_channel_transport_t, receiver_clientd: *mut c_void, endpoint_clientd: *mut c_void, destination_clientd: *mut c_void, buffer: &mut [u8], addr: &SockaddrStorage, media_timestamp: &Timespec, )
pub fn init( &self, outgoing_interceptor_bindings: &AeronUdpChannelInterceptorBindings, incoming_interceptor_bindings: &AeronUdpChannelInterceptorBindings, media_bindings: *mut aeron_udp_channel_transport_bindings_t, recv_func: aeron_udp_transport_recv_func_t, context: &AeronDriverContext, affinity: aeron_udp_channel_transport_affinity_t, ) -> Result<i32, AeronCError>
pub fn delete(&self) -> Result<i32, AeronCError>
pub fn aeron_udp_channel_transport_send( &self, transport: *mut aeron_udp_channel_transport_t, address: &SockaddrStorage, iov: &Iovec, iov_length: usize, ) -> Result<i64, AeronCError>
pub fn aeron_send_channel_endpoint_dispatch( &self, transport: *mut aeron_udp_channel_transport_t, sender_clientd: *mut c_void, endpoint_clientd: *mut c_void, destination_clientd: *mut c_void, buffer: &mut [u8], addr: &SockaddrStorage, media_timestamp: &Timespec, )
pub fn aeron_receive_channel_endpoint_dispatch( &self, transport: *mut aeron_udp_channel_transport_t, receiver_clientd: *mut c_void, endpoint_clientd: *mut c_void, destination_clientd: *mut c_void, buffer: &mut [u8], addr: &SockaddrStorage, media_receive_timestamp: &Timespec, )
pub fn get_inner(&self) -> *mut aeron_udp_channel_data_paths_t
Sourcepub unsafe fn get_inner_mut(&self) -> &mut aeron_udp_channel_data_paths_t
pub unsafe fn get_inner_mut(&self) -> &mut aeron_udp_channel_data_paths_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_udp_channel_data_paths_t
Source§impl AeronUdpChannelDataPaths
impl AeronUdpChannelDataPaths
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 AeronUdpChannelDataPaths
impl Clone for AeronUdpChannelDataPaths
Source§fn clone(&self) -> AeronUdpChannelDataPaths
fn clone(&self) -> AeronUdpChannelDataPaths
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AeronUdpChannelDataPaths
impl Debug for AeronUdpChannelDataPaths
Source§impl Default for AeronUdpChannelDataPaths
This will create an instance where the struct is zeroed, use with care
impl Default for AeronUdpChannelDataPaths
This will create an instance where the struct is zeroed, use with care