Encapsulates an MPLS label. More...
#include <DwmMplsLabel.hh>


Public Member Functions | |
| MplsLabel () | |
| Constructor. Sets all label bits to 0. | |
| MplsLabel (const std::string &s) | |
| Construct from a string of the form 'label:exp:s:ttl'. | |
| uint32_t | Label () const |
| Returns the 20-bit label portion of the label. | |
| uint32_t | Label (uint32_t label) |
| Sets and returns the 20-bit label portion of the label. | |
| uint8_t | Exp () const |
| Returns the 3-bit exp portion of the label. | |
| uint8_t | Exp (uint8_t exp) |
| Sets and returns the 3-bit exp portion of the label. | |
| bool | S () const |
| Returns true if the S (bottom-of-stack) bit is set. | |
| bool | S (bool s) |
| Sets the S bit. | |
| uint8_t | Ttl () const |
| Returns the TTL portion of the label. | |
| uint8_t | Ttl (uint8_t ttl) |
| Sets and returns the TTL portion of the label. | |
| bool | operator== (const MplsLabel &label) const |
| operator == | |
| std::istream & | Read (std::istream &is) |
| Reads the MPLS label from an istream. Returns the istream. | |
| std::ostream & | Write (std::ostream &os) const |
| Writes the MPLS label to an ostream. Returns the ostream. | |
| ssize_t | Read (int fd) |
| Reads the MPLS label from a file descriptor. More... | |
| ssize_t | Write (int fd) const |
| Writes the MPLS label to a file descriptor. More... | |
| size_t | Read (FILE *f) |
| Reads the MPLS label from a FILE. More... | |
| size_t | Write (FILE *f) const |
| Writes the MPLS label to a FILE. More... | |
| int | Read (gzFile gzf) |
Reads the MPLS label from the given gzFile gzf. More... | |
| int | Write (gzFile gzf) const |
Writes the MPLS lable to the given gzFile gzf. More... | |
| int | BZRead (BZFILE *bzf) |
Reads the MPLS label from the given BZFILE bzf. More... | |
| int | BZWrite (BZFILE *bzf) const |
Writes the MPLS lable to the given BZFILE bzf. More... | |
| uint32_t | StreamedLength () const |
| Returns the number of bytes that should be written if we call one of the Write() members. More... | |
Public Member Functions inherited from Dwm::Readable | |
| virtual | ~Readable () |
| destructor | |
Public Member Functions inherited from Dwm::Writable | |
| virtual | ~Writable () |
| Destructor. | |
Public Member Functions inherited from Dwm::GZReadable | |
| virtual | ~GZReadable () |
| destructor | |
Public Member Functions inherited from Dwm::GZWritable | |
| virtual | ~GZWritable () |
| destructor | |
Protected Attributes | |
| uint32_t | _data |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const MplsLabel &label) |
| Prints to an ostream in 'label:exp:s:ttl' format. | |
| std::istream & | operator>> (std::istream &is, MplsLabel &label) |
| Reads from an istream in 'label:exp:s:ttl' format. | |
Encapsulates an MPLS label.
|
virtual |
Reads the MPLS label from the given BZFILE bzf.
Return the number of bytes read on success, -1 on failure.
Implements Dwm::BZ2Readable.
|
virtual |
Writes the MPLS lable to the given BZFILE bzf.
Returns the number of bytes written on success, -1 on failure.
Implements Dwm::BZ2Writable.
|
virtual |
Reads the MPLS label from a file descriptor.
Returns the number of bytes read on success (should be 4), -1 on failure.
Implements Dwm::Readable.
|
virtual |
Reads the MPLS label from a FILE.
Returns 1 on success, 0 on failure (fread() semantics).
Implements Dwm::Readable.
|
virtual |
Reads the MPLS label from the given gzFile gzf.
Return the number of bytes read on success, -1 on failure.
Implements Dwm::GZReadable.
|
virtual |
Returns the number of bytes that should be written if we call one of the Write() members.
Should always return 4.
Implements Dwm::Writable.
|
virtual |
Writes the MPLS label to a file descriptor.
Returns the number of bytes written on success (should be 4), -1 on failure.
Implements Dwm::Writable.
|
virtual |
Writes the MPLS label to a FILE.
Returns 1 on success, 0 on failure (fwrite() semantics).
Implements Dwm::Writable.
|
virtual |
Writes the MPLS lable to the given gzFile gzf.
Returns the number of bytes written on success, -1 on failure.
Implements Dwm::GZWritable.