Struct bgpkit_parser::CommonHeader
source · pub struct CommonHeader {
pub timestamp: u32,
pub microsecond_timestamp: Option<u32>,
pub entry_type: EntryType,
pub entry_subtype: u16,
pub length: u32,
}
Expand description
MRT common header.
A CommonHeader (RFC6396 section 2) is constructed as the following:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Subtype |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Or with extended timestamp:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Subtype |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Microsecond Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The headers include the following:
- timestamp: 32 bits
- entry_type: EntryType enum
- entry_subtype: entry subtype
- length: length of the message in octets
- (
ET
type only) microsecond_timestamp: microsecond part of the timestamp. only applicable to the MRT message type with_ET
suffix, such asBGP4MP_ET
Fields§
§timestamp: u32
§microsecond_timestamp: Option<u32>
§entry_type: EntryType
§entry_subtype: u16
§length: u32
Implementations§
source§impl CommonHeader
impl CommonHeader
Trait Implementations§
source§impl Clone for CommonHeader
impl Clone for CommonHeader
source§fn clone(&self) -> CommonHeader
fn clone(&self) -> CommonHeader
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CommonHeader
impl Debug for CommonHeader
source§impl PartialEq<CommonHeader> for CommonHeader
impl PartialEq<CommonHeader> for CommonHeader
source§fn eq(&self, other: &CommonHeader) -> bool
fn eq(&self, other: &CommonHeader) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for CommonHeader
impl Serialize for CommonHeader
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for CommonHeader
impl Eq for CommonHeader
impl StructuralEq for CommonHeader
impl StructuralPartialEq for CommonHeader
Auto Trait Implementations§
impl RefUnwindSafe for CommonHeader
impl Send for CommonHeader
impl Sync for CommonHeader
impl Unpin for CommonHeader
impl UnwindSafe for CommonHeader
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.