95 {
return (org_id || org_sub) ? 10 : 4;}
96 inline constexpr
unsigned len_total()
const
Limited read of next N bytes.
Abstract API for reading byte-streams and packets.
Abstract API for writing byte-streams and packets.
Client for the IEEE 1588-2019 Precision Time Protocol (PTP)
Users should derive custom TLV objects from this base class.
satcat5::ptp::Client *const m_client
Pointer to the associated PTP client.
virtual unsigned tlv_send(const satcat5::ptp::Header &hdr, satcat5::io::Writeable *wr)
Child class SHOULD override this method to append outgoing TLV(s).
virtual bool tlv_rcvd(const satcat5::ptp::Header &hdr, const satcat5::ptp::TlvHeader &tlv, satcat5::io::LimitedRead &rd)
Child class SHOULD override this method to read incoming TLV(s).
TlvHandler(satcat5::ptp::Client *client)
Only children should create or destroy the base class.
virtual void tlv_meas(satcat5::ptp::Measurement &meas)
Child class MAY override this method to read or modify each complete two-way handshake event.
Helper functions for manipulating singly-linked lists.
Templated functions for manipulating singly-linked lists.
constexpr u16 TLVTYPE_NONE
Define some key tlvType values.
constexpr u16 TLVTYPE_PAD
Define some key tlvType values.
constexpr u16 TLVTYPE_ORG_EXT
Define some key tlvType values.
constexpr u16 TLVTYPE_AUTH
Define some key tlvType values.
constexpr u16 TLVTYPE_ORG_EXT_P
Define some key tlvType values.
constexpr u16 TLVTYPE_ORG_EXT_NP
Define some key tlvType values.
constexpr u16 TLVTYPE_PATH_TRACE
Define some key tlvType values.
constexpr u16 TLVTYPE_MANAGEMENT
Define some key tlvType values.
constexpr u16 TLVTYPE_DOPPLER
Define some key tlvType values.
Timestamps and metadata for a two-way time-transfer handshake.
Basic type aliases and prototypes used throughout SatCat5.