Enum PacketType

Source
#[repr(u8)]
pub enum PacketType {
Show 15 variants CONNECT = 1, CONNACK = 2, PUBLISH = 3, PUBACK = 4, PUBREC = 5, PUBREL = 6, PUBCOMP = 7, SUBSCRIBE = 8, SUBACK = 9, UNSUBSCRIBE = 10, UNSUBACK = 11, PINGREQ = 12, PINGRESP = 13, DISCONNECT = 14, AUTH = 15,
}

Variants§

§

CONNECT = 1

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::CONNECT;
assert_eq!(u8::from(id), 1);
assert_eq!(PacketType::try_from(1).unwrap(), id);
§

CONNACK = 2

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::CONNACK;
assert_eq!(u8::from(id), 2);
assert_eq!(PacketType::try_from(2).unwrap(), id);
§

PUBLISH = 3

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::PUBLISH;
assert_eq!(u8::from(id), 3);
assert_eq!(PacketType::try_from(3).unwrap(), id);
§

PUBACK = 4

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::PUBACK;
assert_eq!(u8::from(id), 4);
assert_eq!(PacketType::try_from(4).unwrap(), id);
§

PUBREC = 5

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::PUBREC;
assert_eq!(u8::from(id), 5);
assert_eq!(PacketType::try_from(5).unwrap(), id);
§

PUBREL = 6

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::PUBREL;
assert_eq!(u8::from(id), 6);
assert_eq!(PacketType::try_from(6).unwrap(), id);
§

PUBCOMP = 7

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::PUBCOMP;
assert_eq!(u8::from(id), 7);
assert_eq!(PacketType::try_from(7).unwrap(), id);
§

SUBSCRIBE = 8

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::SUBSCRIBE;
assert_eq!(u8::from(id), 8);
assert_eq!(PacketType::try_from(8).unwrap(), id);
§

SUBACK = 9

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::SUBACK;
assert_eq!(u8::from(id), 9);
assert_eq!(PacketType::try_from(9).unwrap(), id);
§

UNSUBSCRIBE = 10

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::UNSUBSCRIBE;
assert_eq!(u8::from(id), 10);
assert_eq!(PacketType::try_from(10).unwrap(), id);
§

UNSUBACK = 11

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::UNSUBACK;
assert_eq!(u8::from(id), 11);
assert_eq!(PacketType::try_from(11).unwrap(), id);
§

PINGREQ = 12

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::PINGREQ;
assert_eq!(u8::from(id), 12);
assert_eq!(PacketType::try_from(12).unwrap(), id);
§

PINGRESP = 13

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::PINGRESP;
assert_eq!(u8::from(id), 13);
assert_eq!(PacketType::try_from(13).unwrap(), id);
§

DISCONNECT = 14

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::DISCONNECT;
assert_eq!(u8::from(id), 14);
assert_eq!(PacketType::try_from(14).unwrap(), id);
§

AUTH = 15

§Examples

use std::convert::TryFrom;
use mqtt_packet::PacketType;
let id = PacketType::AUTH;
assert_eq!(u8::from(id), 15);
assert_eq!(PacketType::try_from(15).unwrap(), id);

Implementations§

Source§

impl PacketType

Position: byte 1, bits 7-4. Represented as a 4-bit unsigned value.

Source

pub fn new<R: Read>(reader: &mut R) -> Result<Self, Error>

Parse property values from a reader into DataType variants.

§Examples
use mqtt_packet::PacketType;
use mqtt_packet::Error;
use std::io;

let bytes: Vec<u8> = vec![0x10];
let mut reader = io::BufReader::new(&bytes[..]);

let packet_type = PacketType::new(&mut reader).unwrap();
assert_eq!(packet_type, PacketType::CONNECT);

Error:

use mqtt_packet::PacketType;
use mqtt_packet::Error;
use std::io;

let err_bytes: Vec<u8> = vec![0x00];
let mut err_reader = io::BufReader::new(&err_bytes[..]);

let err = PacketType::new(&mut err_reader).unwrap_err();
assert_eq!(err, Error::GenerateError)

Trait Implementations§

Source§

impl Clone for PacketType

Source§

fn clone(&self) -> PacketType

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PacketType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<PacketType> for u8

Source§

fn from(t: PacketType) -> Self

Converts to this type from the input type.
Source§

impl Hash for PacketType

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for PacketType

Source§

fn cmp(&self, other: &PacketType) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for PacketType

Source§

fn eq(&self, other: &PacketType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for PacketType

Source§

fn partial_cmp(&self, other: &PacketType) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl TryFrom<u8> for PacketType

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(v: u8) -> Result<Self, Error>

Performs the conversion.
Source§

impl Copy for PacketType

Source§

impl Eq for PacketType

Source§

impl StructuralPartialEq for PacketType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.