Struct cobalt::ConnectionID
[−]
[src]
pub struct ConnectionID(pub u32);
Representation of a random ID for connection identification purposes.
Used to uniquely* identify the reliable connections. The ID is send with every packet and allows to support multiple connections behind NAT. It also reduces the chance of connection drop attacks it also and helps with cases where NAT re-assigns local UDP ports which would cause purely address based packet identification mechanisms to break down.
* Since the ID is random integer, there is of course a always a chance for two connections to end up with the same ID, in that case - due to conflicting ack sequences and message data - both connections will get dropped shortly.
Trait Implementations
impl Debug for ConnectionID
[src]
impl PartialEq for ConnectionID
[src]
fn eq(&self, __arg_0: &ConnectionID) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &ConnectionID) -> bool
This method tests for !=
.
impl Eq for ConnectionID
[src]
impl Hash for ConnectionID
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Copy for ConnectionID
[src]
impl Clone for ConnectionID
[src]
fn clone(&self) -> ConnectionID
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Ord for ConnectionID
[src]
fn cmp(&self, __arg_0: &ConnectionID) -> Ordering
This method returns an Ordering
between self
and other
. Read more
impl PartialOrd for ConnectionID
[src]
fn partial_cmp(&self, __arg_0: &ConnectionID) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, __arg_0: &ConnectionID) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, __arg_0: &ConnectionID) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, __arg_0: &ConnectionID) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, __arg_0: &ConnectionID) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more