9 #include <boost/mpl/list.hpp>
103 static bool Verifier(
const void *obj,
const uint8_t *data,
size_t size,
137 boost::posix_time::microseconds(value);
153 boost::posix_time::microseconds(value);
170 boost::posix_time::microseconds(value);
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) {
mpl::list< VersionAndDiagnostic, Flags, DetectionTimeMultiplier, Length, SenderDiscriminator, ReceiverDiscriminator, DesiredMinTxInterval, RequiredMinRxInterval, RequiredMinEchoRXInterval > Sequence
Accessor< ControlPacket, int, &ControlPacket::detection_time_multiplier > Setter
static bool Verifier(const ControlPacket *obj, const uint8_t *data, size_t size, ParseContext *context)
static const int kFinallOffset
static const int kAuthenticationPresentOffset
static const int kControlPlaneIndependentOffset
static const int kStateOffset
static const int kPollOffset
static const int kMultipointOffset
static const int kDemandOffset
static const int kStateBitmask
Accessor< ControlPacket, int, &ControlPacket::length > Setter
static bool Verifier(const void *obj, const uint8_t *data, size_t size, ParseContext *context)
Accessor< ControlPacket, uint32_t, &ControlPacket::receiver_discriminator > Setter
static bool Verifier(const ControlPacket *obj, const uint8_t *data, size_t size, ParseContext *context)
Accessor< ControlPacket, uint32_t, &ControlPacket::sender_discriminator > Setter
static const int kSupportedVersion
static const int kVersionBitmask
static bool Verifier(const ControlPacket *obj, const uint8_t *data, size_t size, ParseContext *context)
static const int kVersionOffset
static const int kDiagnosticBitmask
static int Encode(EncodeContext *context, const T *msg, uint8_t *data, size_t size)
static int Parse(const uint8_t *data, size_t size, ParseContext *context, T *obj)
ControlPacket * ParseControlPacket(const uint8_t *data, size_t size)
@ kResultCode_InvalidPacket
@ kResultCode_NotImplemented
int EncodeControlPacket(const ControlPacket *msg, uint8_t *data, size_t size)
@ kDiagnosticFirstInvalid
const int kMinimalPacketLength
bool operator==(const ControlPacket &p1, const ControlPacket &p2)
static uint64_t get_value(const uint8_t *data, int size)
bool authentication_present
TimeInterval desired_min_tx_interval
int detection_time_multiplier
BFD::Diagnostic diagnostic
TimeInterval required_min_rx_interval
BFD::Discriminator receiver_discriminator
BFD::Discriminator sender_discriminator
TimeInterval required_min_echo_rx_interval
bool control_plane_independent
ResultCode Verify() const
std::string toString() const
static uint32_t get(const ControlPacket *obj)
static void set(ControlPacket *obj, uint32_t value)
static uint8_t get(const ControlPacket *obj)
static void set(ControlPacket *obj, uint8_t value)
static uint32_t get(const ControlPacket *obj)
static void set(ControlPacket *obj, uint32_t value)
static uint32_t get(const ControlPacket *obj)
static void set(ControlPacket *obj, uint32_t value)
static void set(ControlPacket *obj, uint8_t value)
static uint8_t get(const ControlPacket *obj)