use crate::mqtt::connection::role::*;
use crate::mqtt::packet::*;
pub trait SendableRole<Role> {}
impl SendableRole<Client> for v5_0::Connect {}
impl SendableRole<Client> for v3_1_1::Connect {}
impl SendableRole<Server> for v5_0::Connack {}
impl SendableRole<Server> for v3_1_1::Connack {}
impl SendableRole<Any> for v5_0::Connect {}
impl SendableRole<Any> for v5_0::Connack {}
impl SendableRole<Any> for v3_1_1::Connect {}
impl SendableRole<Any> for v3_1_1::Connack {}
impl SendableRole<Client> for v3_1_1::Pingreq {}
impl SendableRole<Client> for v3_1_1::Disconnect {}
impl SendableRole<Client> for v5_0::Pingreq {}
impl SendableRole<Client> for v5_0::Disconnect {}
impl SendableRole<Client> for v5_0::Auth {}
impl SendableRole<Server> for v3_1_1::Pingresp {}
impl SendableRole<Server> for v5_0::Pingresp {}
impl SendableRole<Server> for v5_0::Disconnect {}
impl SendableRole<Server> for v5_0::Auth {}
impl SendableRole<Any> for v3_1_1::Pingreq {}
impl SendableRole<Any> for v3_1_1::Pingresp {}
impl SendableRole<Any> for v3_1_1::Disconnect {}
impl SendableRole<Any> for v5_0::Pingreq {}
impl SendableRole<Any> for v5_0::Pingresp {}
impl SendableRole<Any> for v5_0::Disconnect {}
impl SendableRole<Any> for v5_0::Auth {}
impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericPublish<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericPuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericPubrec<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericPubrel<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericPubcomp<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericSubscribe<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericUnsubscribe<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v5_0::GenericPublish<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v5_0::GenericPuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v5_0::GenericPubrec<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v5_0::GenericPubrel<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v5_0::GenericPubcomp<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v5_0::GenericSubscribe<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Client> for v5_0::GenericUnsubscribe<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericPublish<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericPuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericPubrec<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericPubrel<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericPubcomp<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericSuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericUnsuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v5_0::GenericPublish<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v5_0::GenericPuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v5_0::GenericPubrec<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v5_0::GenericPubrel<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v5_0::GenericPubcomp<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v5_0::GenericSuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Server> for v5_0::GenericUnsuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericPublish<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericPuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericPubrec<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericPubrel<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericPubcomp<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericSubscribe<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericSuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericUnsubscribe<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericUnsuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v5_0::GenericPublish<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v5_0::GenericPuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v5_0::GenericPubrec<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v5_0::GenericPubrel<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v5_0::GenericPubcomp<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v5_0::GenericSubscribe<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v5_0::GenericSuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v5_0::GenericUnsubscribe<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<PacketIdType> SendableRole<Any> for v5_0::GenericUnsuback<PacketIdType> where
PacketIdType: crate::mqtt::packet::IsPacketId
{
}
impl<T, R> SendableRole<R> for &T where T: SendableRole<R> {}