pub struct Header {
pub header: u8,
pub version: [u8; 2],
pub pkt_type: PktType,
pub topic_length: u8,
pub message_length: u16,
pub padding: u8,
}Expand description
Header for the pub/sub packet total length 8 bytes.
Fields§
§header: u8start byte of the packet, default value: 0x0F
version: [u8; 2]pub-sub version: two bytes.
pkt_type: PktTypepacket type: PktType
topic_length: u8topic length for publishing/subscribing/querying.
message_length: u16message length: Max length 16 MB.
padding: u8padding/endo of the header: 0x00
Implementations§
Source§impl Header
impl Header
Sourcepub fn new(pkt_type: PktType, topic_len: u8, message_len: u16) -> Header
pub fn new(pkt_type: PktType, topic_len: u8, message_len: u16) -> Header
creates a new Header with the given data.
use simple_pub_sub_message::header::Header;
use simple_pub_sub_message::PktType;
Header::new(PktType::PUBLISH, 8, 20);Sourcepub fn response_header(&self) -> Result<Header, Error>
pub fn response_header(&self) -> Result<Header, Error>
returns a Header for the response Msg.
use simple_pub_sub_message::header::Header;
use simple_pub_sub_message::PktType;
let header = Header::new(PktType::PUBLISH, 8, 20);
let response_header = header.response_header();Trait Implementations§
Source§impl TryFrom<&[u8]> for Header
impl TryFrom<&[u8]> for Header
Source§fn try_from(bytes: &[u8]) -> Result<Header, Error>
fn try_from(bytes: &[u8]) -> Result<Header, Error>
Parses a Header from a &[u8]
use simple_pub_sub_message::header::Header;
Header::try_from([
15, // HEADER_BYTE`
0, 1, // `VERSION_BYTE_0`, `VERSION_BYTE_1`
2, // `PktType`
3, // `TOPIC_LENGTH_BYTE`
0, 12, // `MESSAGE_LENGTH_BYTE_0`, `MESSAGE_LENGTH_BYTE_1`
0, // `PADDING_BYTE`
].as_ref());Source§impl TryFrom<Vec<u8>> for Header
impl TryFrom<Vec<u8>> for Header
Source§fn try_from(bytes: Vec<u8>) -> Result<Header, Error>
fn try_from(bytes: Vec<u8>) -> Result<Header, Error>
Parses a Header from a Vec<u8>.
use simple_pub_sub_message::header::Header;
Header::try_from(vec![
15, // `HEADER_BYTE`
0, 1, // `VERSION_BYTE_0`, `VERSION_BYTE_1`
2, // `PktType`
3, // `TOPIC_LENGTH_BYTE`
0, 12, // `MESSAGE_LENGTH_BYTE_0`, `MESSAGE_LENGTH_BYTE_1`
0, // `PADDING_BYTE`
]);impl StructuralPartialEq for Header
Auto Trait Implementations§
impl Freeze for Header
impl RefUnwindSafe for Header
impl Send for Header
impl Sync for Header
impl Unpin for Header
impl UnwindSafe for Header
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more