9 #include <boost/mpl/list.hpp>
73 | (obj->control_plane_independent
75 | (obj->authentication_present
103 static bool Verifier(
const void *obj,
const uint8_t *data,
size_t size,
137 boost::posix_time::microseconds(value);
141 return obj->desired_min_tx_interval.total_microseconds();
153 boost::posix_time::microseconds(value);
157 return obj->required_min_rx_interval.total_microseconds();
170 boost::posix_time::microseconds(value);
174 return obj->required_min_echo_rx_interval.total_microseconds();
190 std::ostringstream out;
191 out <<
"Length: " <<
length <<
"\n";
193 out <<
"State: " <<
state <<
"\n";
194 out <<
"Poll: " <<
poll <<
"\n";
195 out <<
"Final: " <<
final <<
"\n";
198 out <<
"Demand: " <<
demand <<
"\n";
201 out <<
"SenderDiscriminator: 0x"
207 out <<
"RequiredMinEchoRXInterval: "
232 if (result < 0 || (
size_t)result != size) {
int detection_time_multiplier
static void set(ControlPacket *obj, uint8_t value)
int EncodeControlPacket(const ControlPacket *msg, uint8_t *data, size_t size)
static const int kControlPlaneIndependentOffset
ResultCode Verify() const
std::string toString() const
static void set(ControlPacket *obj, uint32_t value)
Accessor< ControlPacket, uint32_t,&ControlPacket::sender_discriminator > Setter
Accessor< ControlPacket, int,&ControlPacket::length > Setter
static const int kVersionBitmask
static const int kFinallOffset
static bool Verifier(const ControlPacket *obj, const uint8_t *data, size_t size, ParseContext *context)
static const int kDemandOffset
static uint64_t get_value(const uint8_t *data, int size)
static bool Verifier(const void *obj, const uint8_t *data, size_t size, ParseContext *context)
Accessor< ControlPacket, uint32_t,&ControlPacket::receiver_discriminator > Setter
static const int kDiagnosticBitmask
static void set(ControlPacket *obj, uint8_t value)
BFD::Discriminator sender_discriminator
static bool Verifier(const ControlPacket *obj, const uint8_t *data, size_t size, ParseContext *context)
BFD::Discriminator receiver_discriminator
TimeInterval required_min_rx_interval
static const int kAuthenticationPresentOffset
bool control_plane_independent
bool operator==(const ControlPacket &p1, const ControlPacket &p2)
bool authentication_present
static int Encode(EncodeContext *context, const T *msg, uint8_t *data, size_t size)
const int kMinimalPacketLength
BFD::Diagnostic diagnostic
static bool Verifier(const ControlPacket *obj, const uint8_t *data, size_t size, ParseContext *context)
static int Parse(const uint8_t *data, size_t size, ParseContext *context, T *obj)
mpl::list< VersionAndDiagnostic, Flags, DetectionTimeMultiplier, Length, SenderDiscriminator, ReceiverDiscriminator, DesiredMinTxInterval, RequiredMinRxInterval, RequiredMinEchoRXInterval > Sequence
static void set(ControlPacket *obj, uint32_t value)
static const int kStateOffset
TimeInterval required_min_echo_rx_interval
TimeInterval desired_min_tx_interval
static const int kPollOffset
static const int kStateBitmask
static void set(ControlPacket *obj, uint32_t value)
Accessor< ControlPacket, int,&ControlPacket::detection_time_multiplier > Setter
static const int kVersionOffset
static const int kSupportedVersion
ControlPacket * ParseControlPacket(const uint8_t *data, size_t size)
static const int kMultipointOffset