use crate::command::correlated_message_flyweight::{CorrelatedMessageDefn, CorrelatedMessageFlyweight};
use crate::concurrent::atomic_buffer::AtomicBuffer;
use crate::utils::types::Index;
#[repr(C, packed(4))]
#[derive(Copy, Clone)]
pub(crate) struct RemoveMessageDefn {
correlated_message: CorrelatedMessageDefn,
registration_id: i64,
}
pub const REMOVE_MESSAGE_LENGTH: Index = std::mem::size_of::<RemoveMessageDefn>() as Index;
pub(crate) struct RemoveMessageFlyweight {
correlated_message_flyweight: CorrelatedMessageFlyweight,
m_struct: *mut RemoveMessageDefn, }
impl RemoveMessageFlyweight {
pub fn new(buffer: AtomicBuffer, offset: Index) -> Self {
let correlated_message_flyweight = CorrelatedMessageFlyweight::new(buffer, offset);
let m_struct = correlated_message_flyweight.flyweight.overlay_struct::<RemoveMessageDefn>(0);
Self {
correlated_message_flyweight,
m_struct,
}
}
#[cfg(test)]
pub fn registration_id(&self) -> i64 {
unsafe { (*self.m_struct).registration_id }
}
#[inline]
pub fn set_registration_id(&mut self, value: i64) {
unsafe {
(*self.m_struct).registration_id = value;
}
}
#[inline]
pub const fn length(&self) -> Index {
REMOVE_MESSAGE_LENGTH
}
#[inline]
pub fn set_client_id(&mut self, value: i64) {
self.correlated_message_flyweight.set_client_id(value);
}
#[inline]
pub fn set_correlation_id(&mut self, value: i64) {
self.correlated_message_flyweight.set_correlation_id(value);
}
}