stun_rs/attributes/
turn.rs

1//! TURN attributes defined for TURN protocol
2//! [`RFC8656`](https://datatracker.ietf.org/doc/html/rfc8656)
3
4mod address_family;
5
6mod additional_address_family;
7mod address_error_code;
8mod channel_number;
9mod data;
10mod dont_fragment;
11mod even_port;
12mod icmp;
13mod lifetime;
14mod requested_address_family;
15mod requested_transport;
16mod reservation_token;
17mod xor_peer_address;
18mod xor_relayed_address;
19
20use crate::registry::DecoderRegistry;
21pub use additional_address_family::AdditionalAddressFamily;
22pub use address_error_code::AddressErrorCode;
23pub use channel_number::ChannelNumber;
24pub use data::Data;
25pub use dont_fragment::DontFragment;
26pub use even_port::EvenPort;
27pub use icmp::{Icmp, IcmpCode, IcmpType};
28pub use lifetime::LifeTime;
29pub use requested_address_family::RequestedAddressFamily;
30pub use requested_transport::RequestedTrasport;
31pub use reservation_token::ReservationToken;
32pub use xor_peer_address::XorPeerAddress;
33pub use xor_relayed_address::XorRelayedAddress;
34
35pub(crate) fn turn_register_attributes(registry: &mut DecoderRegistry) {
36    registry.register::<AdditionalAddressFamily>();
37    registry.register::<AddressErrorCode>();
38    registry.register::<ChannelNumber>();
39    registry.register::<Data>();
40    registry.register::<DontFragment>();
41    registry.register::<EvenPort>();
42    registry.register::<Icmp>();
43    registry.register::<LifeTime>();
44    registry.register::<RequestedAddressFamily>();
45    registry.register::<RequestedTrasport>();
46    registry.register::<ReservationToken>();
47    registry.register::<XorPeerAddress>();
48    registry.register::<XorRelayedAddress>();
49}