Constant RB
Source pub const RB: &str = "/* automatically generated by rust-bindgen 0.71.1 */\n\npub const AERON_COMPILER_GCC: u32 = 1;\npub const AERON_COMPILER_LLVM: u32 = 1;\npub const AERON_CPU_ARM: u32 = 1;\npub const AERON_CACHE_LINE_LENGTH: u32 = 64;\npub const AERON_BROADCAST_PADDING_MSG_TYPE_ID: i32 = -1;\npub const AERON_BROADCAST_SCRATCH_BUFFER_LENGTH: u32 = 4096;\npub const AERON_RB_PADDING_MSG_TYPE_ID: i32 = -1;\nunsafe extern \"C\" {\n pub fn aeron_randomised_int32() -> i32;\n}\n#[repr(C, packed(4))]\n#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]\npub struct aeron_broadcast_descriptor_stct {\n pub tail_intent_counter: i64,\n pub tail_counter: i64,\n pub latest_counter: i64,\n pub pad: [u8; 104usize],\n}\n#[allow(clippy::unnecessary_operation, clippy::identity_op)]\nconst _: () = {\n [\"Size of aeron_broadcast_descriptor_stct\"]\n [::std::mem::size_of::<aeron_broadcast_descriptor_stct>() - 128usize];\n [\"Alignment of aeron_broadcast_descriptor_stct\"]\n [::std::mem::align_of::<aeron_broadcast_descriptor_stct>() - 4usize];\n [\"Offset of field: aeron_broadcast_descriptor_stct::tail_intent_counter\"]\n [::std::mem::offset_of!(aeron_broadcast_descriptor_stct, tail_intent_counter) - 0usize];\n [\"Offset of field: aeron_broadcast_descriptor_stct::tail_counter\"]\n [::std::mem::offset_of!(aeron_broadcast_descriptor_stct, tail_counter) - 8usize];\n [\"Offset of field: aeron_broadcast_descriptor_stct::latest_counter\"]\n [::std::mem::offset_of!(aeron_broadcast_descriptor_stct, latest_counter) - 16usize];\n [\"Offset of field: aeron_broadcast_descriptor_stct::pad\"]\n [::std::mem::offset_of!(aeron_broadcast_descriptor_stct, pad) - 24usize];\n};\nimpl Default for aeron_broadcast_descriptor_stct {\n fn default() -> Self {\n let mut s = ::std::mem::MaybeUninit::<Self>::uninit();\n unsafe {\n ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);\n s.assume_init()\n }\n }\n}\npub type aeron_broadcast_descriptor_t = aeron_broadcast_descriptor_stct;\n#[repr(C)]\n#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]\npub struct aeron_broadcast_record_descriptor_stct {\n pub length: i32,\n pub msg_type_id: i32,\n}\n#[allow(clippy::unnecessary_operation, clippy::identity_op)]\nconst _: () = {\n [\"Size of aeron_broadcast_record_descriptor_stct\"]\n [::std::mem::size_of::<aeron_broadcast_record_descriptor_stct>() - 8usize];\n [\"Alignment of aeron_broadcast_record_descriptor_stct\"]\n [::std::mem::align_of::<aeron_broadcast_record_descriptor_stct>() - 4usize];\n [\"Offset of field: aeron_broadcast_record_descriptor_stct::length\"]\n [::std::mem::offset_of!(aeron_broadcast_record_descriptor_stct, length) - 0usize];\n [\"Offset of field: aeron_broadcast_record_descriptor_stct::msg_type_id\"]\n [::std::mem::offset_of!(aeron_broadcast_record_descriptor_stct, msg_type_id) - 4usize];\n};\npub type aeron_broadcast_record_descriptor_t = aeron_broadcast_record_descriptor_stct;\n#[repr(C)]\n#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]\npub struct aeron_broadcast_receiver_stct {\n pub scratch_buffer: [u8; 4096usize],\n pub buffer: *mut u8,\n pub descriptor: *mut aeron_broadcast_descriptor_t,\n pub capacity: usize,\n pub mask: usize,\n pub record_offset: usize,\n pub cursor: i64,\n pub next_record: i64,\n pub lapped_count: ::std::os::raw::c_long,\n}\n#[allow(clippy::unnecessary_operation, clippy::identity_op)]\nconst _: () = {\n [\"Size of aeron_broadcast_receiver_stct\"]\n [::std::mem::size_of::<aeron_broadcast_receiver_stct>() - 4160usize];\n [\"Alignment of aeron_broadcast_receiver_stct\"]\n [::std::mem::align_of::<aeron_broadcast_receiver_stct>() - 8usize];\n [\"Offset of field: aeron_broadcast_receiver_stct::scratch_buffer\"]\n [::std::mem::offset_of!(aeron_broadcast_receiver_stct, scratch_buffer) - 0usize];\n [\"Offset of field: aeron_broadcast_receiver_stct::buffer\"]\n [::std::mem::offset_of!(aeron_broadcast_receiver_stct, buffer) - 4096usize];\n [\"Offset of field: aeron_broadcast_receiver_stct::descriptor\"]\n [::std::mem::offset_of!(aeron_broadcast_receiver_stct, descriptor) - 4104usize];\n [\"Offset of field: aeron_broadcast_receiver_stct::capacity\"]\n [::std::mem::offset_of!(aeron_broadcast_receiver_stct, capacity) - 4112usize];\n [\"Offset of field: aeron_broadcast_receiver_stct::mask\"]\n [::std::mem::offset_of!(aeron_broadcast_receiver_stct, mask) - 4120usize];\n [\"Offset of field: aeron_broadcast_receiver_stct::record_offset\"]\n [::std::mem::offset_of!(aeron_broadcast_receiver_stct, record_offset) - 4128usize];\n [\"Offset of field: aeron_broadcast_receiver_stct::cursor\"]\n [::std::mem::offset_of!(aeron_broadcast_receiver_stct, cursor) - 4136usize];\n [\"Offset of field: aeron_broadcast_receiver_stct::next_record\"]\n [::std::mem::offset_of!(aeron_broadcast_receiver_stct, next_record) - 4144usize];\n [\"Offset of field: aeron_broadcast_receiver_stct::lapped_count\"]\n [::std::mem::offset_of!(aeron_broadcast_receiver_stct, lapped_count) - 4152usize];\n};\nimpl Default for aeron_broadcast_receiver_stct {\n fn default() -> Self {\n let mut s = ::std::mem::MaybeUninit::<Self>::uninit();\n unsafe {\n ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);\n s.assume_init()\n }\n }\n}\npub type aeron_broadcast_receiver_t = aeron_broadcast_receiver_stct;\npub type aeron_broadcast_receiver_handler_t = ::std::option::Option<\n unsafe extern \"C\" fn(\n type_id: i32,\n buffer: *mut u8,\n length: usize,\n clientd: *mut ::std::os::raw::c_void,\n ),\n>;\nunsafe extern \"C\" {\n pub fn aeron_broadcast_receiver_init(\n receiver: *mut aeron_broadcast_receiver_t,\n buffer: *mut ::std::os::raw::c_void,\n length: usize,\n ) -> ::std::os::raw::c_int;\n}\nunsafe extern \"C\" {\n pub fn aeron_broadcast_receiver_receive(\n receiver: *mut aeron_broadcast_receiver_t,\n handler: aeron_broadcast_receiver_handler_t,\n clientd: *mut ::std::os::raw::c_void,\n ) -> ::std::os::raw::c_int;\n}\n#[repr(C)]\n#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]\npub struct aeron_broadcast_transmitter_stct {\n pub buffer: *mut u8,\n pub descriptor: *mut aeron_broadcast_descriptor_t,\n pub capacity: usize,\n pub max_message_length: usize,\n}\n#[allow(clippy::unnecessary_operation, clippy::identity_op)]\nconst _: () = {\n [\"Size of aeron_broadcast_transmitter_stct\"]\n [::std::mem::size_of::<aeron_broadcast_transmitter_stct>() - 32usize];\n [\"Alignment of aeron_broadcast_transmitter_stct\"]\n [::std::mem::align_of::<aeron_broadcast_transmitter_stct>() - 8usize];\n [\"Offset of field: aeron_broadcast_transmitter_stct::buffer\"]\n [::std::mem::offset_of!(aeron_broadcast_transmitter_stct, buffer) - 0usize];\n [\"Offset of field: aeron_broadcast_transmitter_stct::descriptor\"]\n [::std::mem::offset_of!(aeron_broadcast_transmitter_stct, descriptor) - 8usize];\n [\"Offset of field: aeron_broadcast_transmitter_stct::capacity\"]\n [::std::mem::offset_of!(aeron_broadcast_transmitter_stct, capacity) - 16usize];\n [\"Offset of field: aeron_broadcast_transmitter_stct::max_message_length\"]\n [::std::mem::offset_of!(aeron_broadcast_transmitter_stct, max_message_length) - 24usize];\n};\nimpl Default for aeron_broadcast_transmitter_stct {\n fn default() -> Self {\n let mut s = ::std::mem::MaybeUninit::<Self>::uninit();\n unsafe {\n ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);\n s.assume_init()\n }\n }\n}\npub type aeron_broadcast_transmitter_t = aeron_broadcast_transmitter_stct;\nunsafe extern \"C\" {\n pub fn aeron_broadcast_transmitter_init(\n transmitter: *mut aeron_broadcast_transmitter_t,\n buffer: *mut ::std::os::raw::c_void,\n length: usize,\n ) -> ::std::os::raw::c_int;\n}\nunsafe extern \"C\" {\n pub fn aeron_broadcast_transmitter_transmit(\n transmitter: *mut aeron_broadcast_transmitter_t,\n msg_type_id: i32,\n msg: *const ::std::os::raw::c_void,\n length: usize,\n ) -> ::std::os::raw::c_int;\n}\n#[repr(C, packed(4))]\n#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]\npub struct aeron_rb_descriptor_stct {\n pub begin_pad: [u8; 128usize],\n pub tail_position: i64,\n pub tail_pad: [u8; 120usize],\n pub head_cache_position: i64,\n pub head_cache_pad: [u8; 120usize],\n pub head_position: i64,\n pub head_pad: [u8; 120usize],\n pub correlation_counter: i64,\n pub correlation_counter_pad: [u8; 120usize],\n pub consumer_heartbeat: i64,\n pub consumer_heartbeat_pad: [u8; 120usize],\n}\n#[allow(clippy::unnecessary_operation, clippy::identity_op)]\nconst _: () = {\n [\"Size of aeron_rb_descriptor_stct\"]\n [::std::mem::size_of::<aeron_rb_descriptor_stct>() - 768usize];\n [\"Alignment of aeron_rb_descriptor_stct\"]\n [::std::mem::align_of::<aeron_rb_descriptor_stct>() - 4usize];\n [\"Offset of field: aeron_rb_descriptor_stct::begin_pad\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, begin_pad) - 0usize];\n [\"Offset of field: aeron_rb_descriptor_stct::tail_position\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, tail_position) - 128usize];\n [\"Offset of field: aeron_rb_descriptor_stct::tail_pad\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, tail_pad) - 136usize];\n [\"Offset of field: aeron_rb_descriptor_stct::head_cache_position\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, head_cache_position) - 256usize];\n [\"Offset of field: aeron_rb_descriptor_stct::head_cache_pad\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, head_cache_pad) - 264usize];\n [\"Offset of field: aeron_rb_descriptor_stct::head_position\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, head_position) - 384usize];\n [\"Offset of field: aeron_rb_descriptor_stct::head_pad\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, head_pad) - 392usize];\n [\"Offset of field: aeron_rb_descriptor_stct::correlation_counter\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, correlation_counter) - 512usize];\n [\"Offset of field: aeron_rb_descriptor_stct::correlation_counter_pad\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, correlation_counter_pad) - 520usize];\n [\"Offset of field: aeron_rb_descriptor_stct::consumer_heartbeat\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, consumer_heartbeat) - 640usize];\n [\"Offset of field: aeron_rb_descriptor_stct::consumer_heartbeat_pad\"]\n [::std::mem::offset_of!(aeron_rb_descriptor_stct, consumer_heartbeat_pad) - 648usize];\n};\nimpl Default for aeron_rb_descriptor_stct {\n fn default() -> Self {\n let mut s = ::std::mem::MaybeUninit::<Self>::uninit();\n unsafe {\n ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);\n s.assume_init()\n }\n }\n}\npub type aeron_rb_descriptor_t = aeron_rb_descriptor_stct;\n#[repr(C)]\n#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]\npub struct aeron_rb_record_descriptor_stct {\n pub length: i32,\n pub msg_type_id: i32,\n}\n#[allow(clippy::unnecessary_operation, clippy::identity_op)]\nconst _: () = {\n [\"Size of aeron_rb_record_descriptor_stct\"]\n [::std::mem::size_of::<aeron_rb_record_descriptor_stct>() - 8usize];\n [\"Alignment of aeron_rb_record_descriptor_stct\"]\n [::std::mem::align_of::<aeron_rb_record_descriptor_stct>() - 4usize];\n [\"Offset of field: aeron_rb_record_descriptor_stct::length\"]\n [::std::mem::offset_of!(aeron_rb_record_descriptor_stct, length) - 0usize];\n [\"Offset of field: aeron_rb_record_descriptor_stct::msg_type_id\"]\n [::std::mem::offset_of!(aeron_rb_record_descriptor_stct, msg_type_id) - 4usize];\n};\npub type aeron_rb_record_descriptor_t = aeron_rb_record_descriptor_stct;\n#[repr(i32)]\n#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]\npub enum aeron_rb_write_result_stct {\n AERON_RB_SUCCESS = 0,\n AERON_RB_ERROR = -2,\n AERON_RB_FULL = -1,\n}\npub use self::aeron_rb_write_result_stct as aeron_rb_write_result_t;\npub type aeron_rb_handler_t = ::std::option::Option<\n unsafe extern \"C\" fn(\n arg1: i32,\n arg2: *const ::std::os::raw::c_void,\n arg3: usize,\n arg4: *mut ::std::os::raw::c_void,\n ),\n>;\n#[repr(u32)]\n#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]\npub enum aeron_rb_read_action_stct {\n AERON_RB_ABORT = 0,\n AERON_RB_BREAK = 1,\n AERON_RB_COMMIT = 2,\n AERON_RB_CONTINUE = 3,\n}\npub use self::aeron_rb_read_action_stct as aeron_rb_read_action_t;\npub type aeron_rb_controlled_handler_t = ::std::option::Option<\n unsafe extern \"C\" fn(\n arg1: i32,\n arg2: *const ::std::os::raw::c_void,\n arg3: usize,\n arg4: *mut ::std::os::raw::c_void,\n ) -> aeron_rb_read_action_t,\n>;\n#[repr(C)]\n#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]\npub struct aeron_mpsc_rb_stct {\n pub buffer: *mut u8,\n pub descriptor: *mut aeron_rb_descriptor_t,\n pub capacity: usize,\n pub max_message_length: usize,\n}\n#[allow(clippy::unnecessary_operation, clippy::identity_op)]\nconst _: () = {\n [\"Size of aeron_mpsc_rb_stct\"][::std::mem::size_of::<aeron_mpsc_rb_stct>() - 32usize];\n [\"Alignment of aeron_mpsc_rb_stct\"][::std::mem::align_of::<aeron_mpsc_rb_stct>() - 8usize];\n [\"Offset of field: aeron_mpsc_rb_stct::buffer\"]\n [::std::mem::offset_of!(aeron_mpsc_rb_stct, buffer) - 0usize];\n [\"Offset of field: aeron_mpsc_rb_stct::descriptor\"]\n [::std::mem::offset_of!(aeron_mpsc_rb_stct, descriptor) - 8usize];\n [\"Offset of field: aeron_mpsc_rb_stct::capacity\"]\n [::std::mem::offset_of!(aeron_mpsc_rb_stct, capacity) - 16usize];\n [\"Offset of field: aeron_mpsc_rb_stct::max_message_length\"]\n [::std::mem::offset_of!(aeron_mpsc_rb_stct, max_message_length) - 24usize];\n};\nimpl Default for aeron_mpsc_rb_stct {\n fn default() -> Self {\n let mut s = ::std::mem::MaybeUninit::<Self>::uninit();\n unsafe {\n ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);\n s.assume_init()\n }\n }\n}\npub type aeron_mpsc_rb_t = aeron_mpsc_rb_stct;\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_init(\n ring_buffer: *mut aeron_mpsc_rb_t,\n buffer: *mut ::std::os::raw::c_void,\n length: usize,\n ) -> ::std::os::raw::c_int;\n}\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_write(\n ring_buffer: *mut aeron_mpsc_rb_t,\n msg_type_id: i32,\n msg: *const ::std::os::raw::c_void,\n length: usize,\n ) -> aeron_rb_write_result_t;\n}\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_try_claim(\n ring_buffer: *mut aeron_mpsc_rb_t,\n msg_type_id: i32,\n length: usize,\n ) -> i32;\n}\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_commit(\n ring_buffer: *mut aeron_mpsc_rb_t,\n offset: i32,\n ) -> ::std::os::raw::c_int;\n}\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_abort(\n ring_buffer: *mut aeron_mpsc_rb_t,\n offset: i32,\n ) -> ::std::os::raw::c_int;\n}\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_read(\n ring_buffer: *mut aeron_mpsc_rb_t,\n handler: aeron_rb_handler_t,\n clientd: *mut ::std::os::raw::c_void,\n message_count_limit: usize,\n ) -> usize;\n}\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_controlled_read(\n ring_buffer: *mut aeron_mpsc_rb_t,\n handler: aeron_rb_controlled_handler_t,\n clientd: *mut ::std::os::raw::c_void,\n message_count_limit: usize,\n ) -> usize;\n}\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_next_correlation_id(ring_buffer: *mut aeron_mpsc_rb_t) -> i64;\n}\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_consumer_heartbeat_time(ring_buffer: *mut aeron_mpsc_rb_t, now_ms: i64);\n}\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_consumer_heartbeat_time_value(ring_buffer: *mut aeron_mpsc_rb_t) -> i64;\n}\nunsafe extern \"C\" {\n pub fn aeron_mpsc_rb_unblock(ring_buffer: *mut aeron_mpsc_rb_t) -> bool;\n}\n#[repr(C)]\n#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]\npub struct iovec {\n pub iov_base: *mut ::std::os::raw::c_void,\n pub iov_len: usize,\n}\n#[allow(clippy::unnecessary_operation, clippy::identity_op)]\nconst _: () = {\n [\"Size of iovec\"][::std::mem::size_of::<iovec>() - 16usize];\n [\"Alignment of iovec\"][::std::mem::align_of::<iovec>() - 8usize];\n [\"Offset of field: iovec::iov_base\"][::std::mem::offset_of!(iovec, iov_base) - 0usize];\n [\"Offset of field: iovec::iov_len\"][::std::mem::offset_of!(iovec, iov_len) - 8usize];\n};\nimpl Default for iovec {\n fn default() -> Self {\n let mut s = ::std::mem::MaybeUninit::<Self>::uninit();\n unsafe {\n ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);\n s.assume_init()\n }\n }\n}\n#[repr(C)]\n#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]\npub struct aeron_spsc_rb_stct {\n pub buffer: *mut u8,\n pub descriptor: *mut aeron_rb_descriptor_t,\n pub capacity: usize,\n pub max_message_length: usize,\n}\n#[allow(clippy::unnecessary_operation, clippy::identity_op)]\nconst _: () = {\n [\"Size of aeron_spsc_rb_stct\"][::std::mem::size_of::<aeron_spsc_rb_stct>() - 32usize];\n [\"Alignment of aeron_spsc_rb_stct\"][::std::mem::align_of::<aeron_spsc_rb_stct>() - 8usize];\n [\"Offset of field: aeron_spsc_rb_stct::buffer\"]\n [::std::mem::offset_of!(aeron_spsc_rb_stct, buffer) - 0usize];\n [\"Offset of field: aeron_spsc_rb_stct::descriptor\"]\n [::std::mem::offset_of!(aeron_spsc_rb_stct, descriptor) - 8usize];\n [\"Offset of field: aeron_spsc_rb_stct::capacity\"]\n [::std::mem::offset_of!(aeron_spsc_rb_stct, capacity) - 16usize];\n [\"Offset of field: aeron_spsc_rb_stct::max_message_length\"]\n [::std::mem::offset_of!(aeron_spsc_rb_stct, max_message_length) - 24usize];\n};\nimpl Default for aeron_spsc_rb_stct {\n fn default() -> Self {\n let mut s = ::std::mem::MaybeUninit::<Self>::uninit();\n unsafe {\n ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);\n s.assume_init()\n }\n }\n}\npub type aeron_spsc_rb_t = aeron_spsc_rb_stct;\nunsafe extern \"C\" {\n pub fn aeron_spsc_rb_init(\n ring_buffer: *mut aeron_spsc_rb_t,\n buffer: *mut ::std::os::raw::c_void,\n length: usize,\n ) -> ::std::os::raw::c_int;\n}\nunsafe extern \"C\" {\n pub fn aeron_spsc_rb_write(\n ring_buffer: *mut aeron_spsc_rb_t,\n msg_type_id: i32,\n msg: *const ::std::os::raw::c_void,\n length: usize,\n ) -> aeron_rb_write_result_t;\n}\nunsafe extern \"C\" {\n pub fn aeron_spsc_rb_writev(\n ring_buffer: *mut aeron_spsc_rb_t,\n msg_type_id: i32,\n iov: *const iovec,\n iovcnt: ::std::os::raw::c_int,\n ) -> aeron_rb_write_result_t;\n}\nunsafe extern \"C\" {\n pub fn aeron_spsc_rb_try_claim(\n ring_buffer: *mut aeron_spsc_rb_t,\n msg_type_id: i32,\n length: usize,\n ) -> i32;\n}\nunsafe extern \"C\" {\n pub fn aeron_spsc_rb_commit(\n ring_buffer: *mut aeron_spsc_rb_t,\n offset: i32,\n ) -> ::std::os::raw::c_int;\n}\nunsafe extern \"C\" {\n pub fn aeron_spsc_rb_abort(\n ring_buffer: *mut aeron_spsc_rb_t,\n offset: i32,\n ) -> ::std::os::raw::c_int;\n}\nunsafe extern \"C\" {\n pub fn aeron_spsc_rb_read(\n ring_buffer: *mut aeron_spsc_rb_t,\n handler: aeron_rb_handler_t,\n clientd: *mut ::std::os::raw::c_void,\n message_count_limit: usize,\n ) -> usize;\n}\nunsafe extern \"C\" {\n pub fn aeron_spsc_rb_controlled_read(\n ring_buffer: *mut aeron_spsc_rb_t,\n handler: aeron_rb_controlled_handler_t,\n clientd: *mut ::std::os::raw::c_void,\n message_count_limit: usize,\n ) -> usize;\n}\nunsafe extern \"C\" {\n pub fn aeron_spsc_rb_next_correlation_id(ring_buffer: *mut aeron_spsc_rb_t) -> i64;\n}\nunsafe extern \"C\" {\n pub fn aeron_spsc_rb_consumer_heartbeat_time(ring_buffer: *mut aeron_spsc_rb_t, time_ms: i64);\n}\n";