use crate::tail::TOPIC_NAME_MAX_LENGTH;
use crate::syscall;
use core::ptr;
#[deprecated(note = "Subscriber is obsolete. Use alternative IPC mechanisms.")]
pub struct Subscriber<T: ?Sized> {
topic_name: [u8; TOPIC_NAME_MAX_LENGTH], phantom: core::marker::PhantomData<T>,
}
impl<T: ?Sized> Subscriber<T> {
#[deprecated(note = "Subscriber::new is obsolete. Use alternative IPC mechanisms.")]
pub fn new(topic_name: &str) -> Self
{
let mut subscriber = Subscriber {
topic_name: [0; TOPIC_NAME_MAX_LENGTH],
phantom: core::marker::PhantomData,
};
unsafe { ptr::copy_nonoverlapping(topic_name.as_ptr(), subscriber.topic_name.as_mut_ptr(), topic_name.len()) };
subscriber
}
#[deprecated(note = "Subscriber::subscribe is obsolete. Use alternative IPC mechanisms.")]
pub fn subscribe(&self) -> (*const u8, usize)
{
syscall::syscall_subscribe_topic(core::str::from_utf8(&self.topic_name).unwrap_or(""))
}
}