A class that represents a complete multi-hop management transaction. More...
#include <uhd/rfnoc/chdr_types.hpp>
Public Member Functions | |
mgmt_payload ()=default | |
mgmt_payload (const mgmt_payload &rhs)=default | |
mgmt_payload (mgmt_payload &&rhs)=default | |
mgmt_payload & | operator= (const mgmt_payload &rhs)=default |
void | set_header (sep_id_t src_epid, uint16_t protover, chdr_w_t chdr_w) |
void | add_hop (const mgmt_hop_t &hop) |
Add a management hop to this transaction. More... | |
size_t | get_num_hops () const |
Get the number of management hops in this hop. More... | |
const mgmt_hop_t & | get_hop (size_t i) const |
Get the n'th hop in the transaction. More... | |
mgmt_hop_t | pop_hop () |
Pop the first hop of the transaction and return it. More... | |
size_t | get_size_bytes () const |
void | populate_header (chdr_header &header) const |
Populate the header for this type of packet. More... | |
size_t | serialize (uint64_t *buff, size_t max_size_bytes, const std::function< uint64_t(uint64_t)> &conv_byte_order) const |
Serialize the payload to a uint64_t buffer. More... | |
template<endianness_t endianness> | |
size_t | serialize (uint64_t *buff, size_t max_size_bytes) const |
Serialize the payload to a uint64_t buffer (no conversion function) More... | |
void | deserialize (const uint64_t *buff, size_t num_elems, const std::function< uint64_t(uint64_t)> &conv_byte_order) |
Deserialize the payload from a uint64_t buffer. More... | |
template<endianness_t endianness> | |
void | deserialize (const uint64_t *buff, size_t num_elems) |
Deserialize the payload from a uint64_t buffer (no conversion function) More... | |
size_t | get_length () const |
Get the serialized size of this payload in 64 bit words. More... | |
const std::string | to_string () const |
Return a string representation of this object. More... | |
const std::string | hops_to_string () const |
Return a string representaiton of the hops contained by this object. More... | |
sep_id_t | get_src_epid () const |
Return the source EPID for this transaction. More... | |
void | set_src_epid (sep_id_t src_epid) |
Set the source EPID for this transaction. More... | |
bool | operator== (const mgmt_payload &rhs) const |
Comparison operator (==) More... | |
chdr_w_t | get_chdr_w () const |
Return the CHDR_W for this transaction. More... | |
void | set_chdr_w (chdr_w_t chdr_w) |
Set the CHDR_W for this transaction. More... | |
uint16_t | get_proto_ver () const |
Return the protocol version for this transaction. More... | |
void | set_proto_ver (uint16_t proto_ver) |
Set the protocol version for this transaction. More... | |
A class that represents a complete multi-hop management transaction.
|
default |
|
default |
|
default |
|
inline |
Add a management hop to this transaction.
|
inline |
Deserialize the payload from a uint64_t buffer (no conversion function)
void uhd::rfnoc::chdr::mgmt_payload::deserialize | ( | const uint64_t * | buff, |
size_t | num_elems, | ||
const std::function< uint64_t(uint64_t)> & | conv_byte_order | ||
) |
Deserialize the payload from a uint64_t buffer.
|
inline |
Return the CHDR_W for this transaction.
|
inline |
Get the n'th hop in the transaction.
size_t uhd::rfnoc::chdr::mgmt_payload::get_length | ( | ) | const |
Get the serialized size of this payload in 64 bit words.
|
inline |
Get the number of management hops in this hop.
|
inline |
Return the protocol version for this transaction.
|
inline |
|
inline |
Return the source EPID for this transaction.
const std::string uhd::rfnoc::chdr::mgmt_payload::hops_to_string | ( | ) | const |
Return a string representaiton of the hops contained by this object.
|
default |
bool uhd::rfnoc::chdr::mgmt_payload::operator== | ( | const mgmt_payload & | rhs | ) | const |
Comparison operator (==)
|
inline |
Pop the first hop of the transaction and return it.
void uhd::rfnoc::chdr::mgmt_payload::populate_header | ( | chdr_header & | header | ) | const |
Populate the header for this type of packet.
|
inline |
Serialize the payload to a uint64_t buffer (no conversion function)
size_t uhd::rfnoc::chdr::mgmt_payload::serialize | ( | uint64_t * | buff, |
size_t | max_size_bytes, | ||
const std::function< uint64_t(uint64_t)> & | conv_byte_order | ||
) | const |
Serialize the payload to a uint64_t buffer.
|
inline |
Set the CHDR_W for this transaction.
|
inline |
|
inline |
Set the protocol version for this transaction.
|
inline |
Set the source EPID for this transaction.
const std::string uhd::rfnoc::chdr::mgmt_payload::to_string | ( | ) | const |
Return a string representation of this object.