pub struct TofCommandV2 {
pub command_code: TofCommandCode,
pub payload: Vec<u8>,
}
Expand description
A general command class with an arbitrary payload
Since the commands should in general be small the maixmal payload size is limited to 256 bytes
All commands will get broadcasted and the receiver has to figure out if they have to rect to that command
Fields§
§command_code: TofCommandCode
§payload: Vec<u8>
Implementations§
Source§impl TofCommandV2
impl TofCommandV2
pub fn new() -> Self
Sourcepub fn forge_changerunconfig(key_value: &Vec<String>) -> Self
pub fn forge_changerunconfig(key_value: &Vec<String>) -> Self
In case the command is supposed to change the next run configuration we can create it with this function
§Arguments
- key_value : a list of keys and a single value (last item of the list
Sourcepub fn extract_changerunconfig(&self) -> Option<Vec<String>>
pub fn extract_changerunconfig(&self) -> Option<Vec<String>>
After the command has been unpackt, reconstruct the key/value string
Trait Implementations§
Source§impl Clone for TofCommandV2
impl Clone for TofCommandV2
Source§fn clone(&self) -> TofCommandV2
fn clone(&self) -> TofCommandV2
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for TofCommandV2
impl Debug for TofCommandV2
Source§impl Default for TofCommandV2
impl Default for TofCommandV2
Source§impl Display for TofCommandV2
impl Display for TofCommandV2
Source§impl FromRandom for TofCommandV2
impl FromRandom for TofCommandV2
fn from_random() -> Self
Source§impl Packable for TofCommandV2
impl Packable for TofCommandV2
const PACKET_TYPE: PacketType = PacketType::TofCommandV2
Source§fn pack(&self) -> TofPacketwhere
Self: Serialization,
fn pack(&self) -> TofPacketwhere
Self: Serialization,
Wrap myself in a TofPacket
Source§impl PartialEq for TofCommandV2
impl PartialEq for TofCommandV2
Source§impl Serialization for TofCommandV2
impl Serialization for TofCommandV2
const HEAD: u16 = 43_690u16
const TAIL: u16 = 21_845u16
Source§fn from_bytestream(
stream: &Vec<u8>,
pos: &mut usize,
) -> Result<Self, SerializationError>
fn from_bytestream( stream: &Vec<u8>, pos: &mut usize, ) -> Result<Self, SerializationError>
Decode a serializable from a bytestream
Source§fn to_bytestream(&self) -> Vec<u8>
fn to_bytestream(&self) -> Vec<u8>
Encode a serializable to a bytestream
Source§const SIZE: usize = 0usize
const SIZE: usize = 0usize
The SIZE is the size of the serialized
bytestream INCLUDING 4 bytes for head
and tail bytes. In case the struct does
NOT HAVE a fixed size, SIZE will be 0
(so default value of the trait
Source§fn verify_fixed(
stream: &Vec<u8>,
pos: &mut usize,
) -> Result<(), SerializationError>
fn verify_fixed( stream: &Vec<u8>, pos: &mut usize, ) -> Result<(), SerializationError>
Verify that the serialized representation of the struct has the
correct size, including header + footer. Read more
Source§fn from_tofpacket(packet: &TofPacket) -> Result<Self, SerializationError>where
Self: Sized,
fn from_tofpacket(packet: &TofPacket) -> Result<Self, SerializationError>where
Self: Sized,
Decode a serializable directly from a TofPacket
fn from_slice(
_slice: &[u8],
_start_pos: usize,
) -> Result<Self, SerializationError>where
Self: Sized,
impl StructuralPartialEq for TofCommandV2
Auto Trait Implementations§
impl Freeze for TofCommandV2
impl RefUnwindSafe for TofCommandV2
impl Send for TofCommandV2
impl Sync for TofCommandV2
impl Unpin for TofCommandV2
impl UnwindSafe for TofCommandV2
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
Convert
self
to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
Convert
&self
to an expression for Diesel’s query builder. Read more