Skip to main content

Packet

Trait Packet 

Source
pub trait Packet: AsRef<[u8]> + AsMut<[u8]> {
    const SIZE_INDEX: usize;
    const DATA_BEGIN_INDEX: usize;
    const DESTINATION_INDEX: usize;
Show 14 methods // Provided methods fn len_of_packet(&self) -> usize { ... } fn as_slice(&self) -> &[u8] { ... } fn as_mut_slice(&mut self) -> &mut [u8] { ... } fn sync(&self) -> u8 { ... } fn set_sync(&mut self) -> &mut Self { ... } fn size(&self) -> u8 { ... } fn set_size(&mut self, size: u8) -> &mut Self { ... } fn dest(&self) -> u8 { ... } fn set_dest(&mut self, dest: u8) -> &mut Self { ... } fn data(&self) -> &[u8] { ... } fn set_data(&mut self, data: &[u8]) -> &mut Self { ... } fn calculate_checksum(&mut self) -> &mut Self { ... } fn checksum(&self) -> u8 { ... } fn set_checksum(&mut self, checksum: u8) -> &mut Self { ... }
}
Expand description

A trait for all packets structures

Required Associated Constants§

Provided Methods§

Source

fn len_of_packet(&self) -> usize

Source

fn as_slice(&self) -> &[u8]

Returns a slice of the packet until SUM byte.

Source

fn as_mut_slice(&mut self) -> &mut [u8]

Returns a mutable slice of the packet until SUM byte.

Source

fn sync(&self) -> u8

Returns a first byte in the slice.

Source

fn set_sync(&mut self) -> &mut Self

Source

fn size(&self) -> u8

Returns a SIZE byte at Packet::SIZE_INDEX

Source

fn set_size(&mut self, size: u8) -> &mut Self

Sets a size byte at Packet::SIZE_INDEX.

Don’t use this method unless you know what you’re doing. Use Packet::set_data instead.

Source

fn dest(&self) -> u8

Returns a destination byte at Packet::DESTINATION_INDEX.

Source

fn set_dest(&mut self, dest: u8) -> &mut Self

Sets a destination byte at Packet::DESTINATION_INDEX and calculates a new checksum.

Source

fn data(&self) -> &[u8]

Returns a slice of the packet data.

Source

fn set_data(&mut self, data: &[u8]) -> &mut Self

Sets the packet data.

This method will also set the size byte and calculate a new checksum.

Source

fn calculate_checksum(&mut self) -> &mut Self

Calculates checksum.

The checksum is calculated by summing all bytes in the packet except the SYNC_BYTE.

Source

fn checksum(&self) -> u8

Returns a checksum.

Source

fn set_checksum(&mut self, checksum: u8) -> &mut Self

Sets a checksum in the end of the packet.

Don’t use this method unless you know what you’re doing. Use Packet::calculate_checksum instead.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<const N: usize> Packet for jvs_packets::jvs::RequestPacket<N>

Source§

impl<const N: usize> Packet for jvs_packets::jvs_modified::RequestPacket<N>

Source§

impl<const N: usize> Packet for jvs_packets::jvs::ResponsePacket<N>

Source§

impl<const N: usize> Packet for jvs_packets::jvs_modified::ResponsePacket<N>