mqtt_protocol_core/mqtt/connection/
sendable_role.rs1use crate::mqtt::connection::role::*;
23use crate::mqtt::packet::*;
24
25pub trait SendableRole<Role> {}
27
28impl SendableRole<Client> for v5_0::Connect {}
31impl SendableRole<Client> for v3_1_1::Connect {}
32
33impl SendableRole<Server> for v5_0::Connack {}
34impl SendableRole<Server> for v3_1_1::Connack {}
35
36impl SendableRole<Any> for v5_0::Connect {}
37impl SendableRole<Any> for v5_0::Connack {}
38impl SendableRole<Any> for v3_1_1::Connect {}
39impl SendableRole<Any> for v3_1_1::Connack {}
40
41impl SendableRole<Client> for v3_1_1::Pingreq {}
43impl SendableRole<Client> for v3_1_1::Disconnect {}
44
45impl SendableRole<Client> for v5_0::Pingreq {}
46impl SendableRole<Client> for v5_0::Disconnect {}
47impl SendableRole<Client> for v5_0::Auth {}
48
49impl SendableRole<Server> for v3_1_1::Pingresp {}
51
52impl SendableRole<Server> for v5_0::Pingresp {}
53impl SendableRole<Server> for v5_0::Disconnect {}
54impl SendableRole<Server> for v5_0::Auth {}
55
56impl SendableRole<Any> for v3_1_1::Pingreq {}
58impl SendableRole<Any> for v3_1_1::Pingresp {}
59impl SendableRole<Any> for v3_1_1::Disconnect {}
60
61impl SendableRole<Any> for v5_0::Pingreq {}
62impl SendableRole<Any> for v5_0::Pingresp {}
63impl SendableRole<Any> for v5_0::Disconnect {}
64impl SendableRole<Any> for v5_0::Auth {}
65
66impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericPublish<PacketIdType> where
69 PacketIdType: crate::mqtt::packet::IsPacketId
70{
71}
72impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericPuback<PacketIdType> where
73 PacketIdType: crate::mqtt::packet::IsPacketId
74{
75}
76impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericPubrec<PacketIdType> where
77 PacketIdType: crate::mqtt::packet::IsPacketId
78{
79}
80impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericPubrel<PacketIdType> where
81 PacketIdType: crate::mqtt::packet::IsPacketId
82{
83}
84impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericPubcomp<PacketIdType> where
85 PacketIdType: crate::mqtt::packet::IsPacketId
86{
87}
88impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericSubscribe<PacketIdType> where
89 PacketIdType: crate::mqtt::packet::IsPacketId
90{
91}
92impl<PacketIdType> SendableRole<Client> for v3_1_1::GenericUnsubscribe<PacketIdType> where
93 PacketIdType: crate::mqtt::packet::IsPacketId
94{
95}
96
97impl<PacketIdType> SendableRole<Client> for v5_0::GenericPublish<PacketIdType> where
98 PacketIdType: crate::mqtt::packet::IsPacketId
99{
100}
101impl<PacketIdType> SendableRole<Client> for v5_0::GenericPuback<PacketIdType> where
102 PacketIdType: crate::mqtt::packet::IsPacketId
103{
104}
105impl<PacketIdType> SendableRole<Client> for v5_0::GenericPubrec<PacketIdType> where
106 PacketIdType: crate::mqtt::packet::IsPacketId
107{
108}
109impl<PacketIdType> SendableRole<Client> for v5_0::GenericPubrel<PacketIdType> where
110 PacketIdType: crate::mqtt::packet::IsPacketId
111{
112}
113impl<PacketIdType> SendableRole<Client> for v5_0::GenericPubcomp<PacketIdType> where
114 PacketIdType: crate::mqtt::packet::IsPacketId
115{
116}
117impl<PacketIdType> SendableRole<Client> for v5_0::GenericSubscribe<PacketIdType> where
118 PacketIdType: crate::mqtt::packet::IsPacketId
119{
120}
121impl<PacketIdType> SendableRole<Client> for v5_0::GenericUnsubscribe<PacketIdType> where
122 PacketIdType: crate::mqtt::packet::IsPacketId
123{
124}
125
126impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericPublish<PacketIdType> where
128 PacketIdType: crate::mqtt::packet::IsPacketId
129{
130}
131impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericPuback<PacketIdType> where
132 PacketIdType: crate::mqtt::packet::IsPacketId
133{
134}
135impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericPubrec<PacketIdType> where
136 PacketIdType: crate::mqtt::packet::IsPacketId
137{
138}
139impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericPubrel<PacketIdType> where
140 PacketIdType: crate::mqtt::packet::IsPacketId
141{
142}
143impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericPubcomp<PacketIdType> where
144 PacketIdType: crate::mqtt::packet::IsPacketId
145{
146}
147impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericSuback<PacketIdType> where
148 PacketIdType: crate::mqtt::packet::IsPacketId
149{
150}
151impl<PacketIdType> SendableRole<Server> for v3_1_1::GenericUnsuback<PacketIdType> where
152 PacketIdType: crate::mqtt::packet::IsPacketId
153{
154}
155
156impl<PacketIdType> SendableRole<Server> for v5_0::GenericPublish<PacketIdType> where
157 PacketIdType: crate::mqtt::packet::IsPacketId
158{
159}
160impl<PacketIdType> SendableRole<Server> for v5_0::GenericPuback<PacketIdType> where
161 PacketIdType: crate::mqtt::packet::IsPacketId
162{
163}
164impl<PacketIdType> SendableRole<Server> for v5_0::GenericPubrec<PacketIdType> where
165 PacketIdType: crate::mqtt::packet::IsPacketId
166{
167}
168impl<PacketIdType> SendableRole<Server> for v5_0::GenericPubrel<PacketIdType> where
169 PacketIdType: crate::mqtt::packet::IsPacketId
170{
171}
172impl<PacketIdType> SendableRole<Server> for v5_0::GenericPubcomp<PacketIdType> where
173 PacketIdType: crate::mqtt::packet::IsPacketId
174{
175}
176impl<PacketIdType> SendableRole<Server> for v5_0::GenericSuback<PacketIdType> where
177 PacketIdType: crate::mqtt::packet::IsPacketId
178{
179}
180impl<PacketIdType> SendableRole<Server> for v5_0::GenericUnsuback<PacketIdType> where
181 PacketIdType: crate::mqtt::packet::IsPacketId
182{
183}
184
185impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericPublish<PacketIdType> where
187 PacketIdType: crate::mqtt::packet::IsPacketId
188{
189}
190impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericPuback<PacketIdType> where
191 PacketIdType: crate::mqtt::packet::IsPacketId
192{
193}
194impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericPubrec<PacketIdType> where
195 PacketIdType: crate::mqtt::packet::IsPacketId
196{
197}
198impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericPubrel<PacketIdType> where
199 PacketIdType: crate::mqtt::packet::IsPacketId
200{
201}
202impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericPubcomp<PacketIdType> where
203 PacketIdType: crate::mqtt::packet::IsPacketId
204{
205}
206impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericSubscribe<PacketIdType> where
207 PacketIdType: crate::mqtt::packet::IsPacketId
208{
209}
210impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericSuback<PacketIdType> where
211 PacketIdType: crate::mqtt::packet::IsPacketId
212{
213}
214impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericUnsubscribe<PacketIdType> where
215 PacketIdType: crate::mqtt::packet::IsPacketId
216{
217}
218impl<PacketIdType> SendableRole<Any> for v3_1_1::GenericUnsuback<PacketIdType> where
219 PacketIdType: crate::mqtt::packet::IsPacketId
220{
221}
222
223impl<PacketIdType> SendableRole<Any> for v5_0::GenericPublish<PacketIdType> where
224 PacketIdType: crate::mqtt::packet::IsPacketId
225{
226}
227impl<PacketIdType> SendableRole<Any> for v5_0::GenericPuback<PacketIdType> where
228 PacketIdType: crate::mqtt::packet::IsPacketId
229{
230}
231impl<PacketIdType> SendableRole<Any> for v5_0::GenericPubrec<PacketIdType> where
232 PacketIdType: crate::mqtt::packet::IsPacketId
233{
234}
235impl<PacketIdType> SendableRole<Any> for v5_0::GenericPubrel<PacketIdType> where
236 PacketIdType: crate::mqtt::packet::IsPacketId
237{
238}
239impl<PacketIdType> SendableRole<Any> for v5_0::GenericPubcomp<PacketIdType> where
240 PacketIdType: crate::mqtt::packet::IsPacketId
241{
242}
243impl<PacketIdType> SendableRole<Any> for v5_0::GenericSubscribe<PacketIdType> where
244 PacketIdType: crate::mqtt::packet::IsPacketId
245{
246}
247impl<PacketIdType> SendableRole<Any> for v5_0::GenericSuback<PacketIdType> where
248 PacketIdType: crate::mqtt::packet::IsPacketId
249{
250}
251impl<PacketIdType> SendableRole<Any> for v5_0::GenericUnsubscribe<PacketIdType> where
252 PacketIdType: crate::mqtt::packet::IsPacketId
253{
254}
255impl<PacketIdType> SendableRole<Any> for v5_0::GenericUnsuback<PacketIdType> where
256 PacketIdType: crate::mqtt::packet::IsPacketId
257{
258}
259
260impl<T, R> SendableRole<R> for &T where T: SendableRole<R> {}