libbgp
0.6
A C++ BGP Library.
|
The BgpMessage base class. More...
#include <bgp-message.h>
Public Member Functions | |
BgpMessage (BgpLogHandler *logger) | |
Construct a new Bgp Message object. More... | |
virtual ssize_t | parse (const uint8_t *from, size_t msg_sz)=0 |
Deserialize a BGP message body. More... | |
virtual ssize_t | write (uint8_t *to, size_t buf_sz) const =0 |
Serialize a BGP message body. More... | |
Public Member Functions inherited from libbgp::Serializable | |
Serializable (BgpLogHandler *logger) | |
Construct a new Serializable:: Serializable object. More... | |
~Serializable () | |
Destroy the Serializable:: Serializable object. | |
ssize_t | print (uint8_t *to, size_t buf_sz) const |
Print the Serializable object as human readable string. More... | |
ssize_t | print (size_t indent, uint8_t *to, size_t buf_sz) const |
Print the Serializable object as human readable string, with indentation. More... | |
virtual ssize_t | length () const |
Get size in bytes required to serialize the object. More... | |
bool | hasError () const |
Check if error information available. More... | |
uint8_t | getErrorCode () const |
uint8_t | getErrorSubCode () const |
const uint8_t * | getError () const |
size_t | getErrorLength () const |
void | setLogger (BgpLogHandler *logger) |
Replace logger for this object. More... | |
Public Attributes | |
uint8_t | type |
Additional Inherited Members | |
Protected Member Functions inherited from libbgp::Serializable | |
virtual ssize_t | doPrint (size_t indent, uint8_t **to, size_t *buf_sz) const =0 |
Print implementation. More... | |
void | setError (uint8_t err, uint8_t suberr, const uint8_t *data, size_t data_len) |
Set the error information. More... | |
void | forwardParseError (const Serializable &other) |
Forward error information from other Serializable object. More... | |
Static Protected Member Functions inherited from libbgp::Serializable | |
static ssize_t | _print (size_t indent, uint8_t **to, size_t *buf_left, const char *format,...) |
Print helper. More... | |
Protected Attributes inherited from libbgp::Serializable | |
uint8_t | err_code |
uint8_t | err_subcode |
size_t | err_len |
uint8_t * | err_data |
BgpLogHandler * | logger |
The BgpMessage base class.
Definition at line 35 of file bgp-message.h.
|
inline |
Construct a new Bgp Message object.
logger | Pointer to logger object for error logging. |
Definition at line 42 of file bgp-message.h.
|
pure virtual |
Deserialize a BGP message body.
BgpMessage deserializer only deserialize message body. (i.e. message without BGP marker and message length field) To deserialize a BGP packet, use BgpPacket.
from | Pointer to message body buffer. |
msg_sz | Size of message. |
-1 | Deserialization error. Error may be logged. |
>=0 | Bytes read. |
bad_parse | Internal deserialization error. |
bad_type | The type of message/field member in buffer does not match the attribute type of container. |
Implements libbgp::Serializable.
Implemented in libbgp::BgpUpdateMessage, libbgp::BgpNotificationMessage, libbgp::BgpOpenMessage, libbgp::BgpKeepaliveMessage, and libbgp::BgpBadMessage.
Referenced by BgpMessage().
|
pure virtual |
Serialize a BGP message body.
BgpMessage serializer only serialize message body. (i.e. message without BGP marker and message length field) To serialize a BGP packet, use BgpPacket.
to | Pointer to destination buffer. |
buf_sz | Max write size. |
-1 | Serialization error. Error may be logged. |
>=0 | Bytes written. |
Implements libbgp::Serializable.
Implemented in libbgp::BgpUpdateMessage, libbgp::BgpNotificationMessage, libbgp::BgpOpenMessage, libbgp::BgpKeepaliveMessage, and libbgp::BgpBadMessage.
Referenced by BgpMessage().