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. | |
| size_t | get_num_hops () const |
| Get the number of management hops in this hop. | |
| const mgmt_hop_t & | get_hop (size_t i) const |
| Get the n'th hop in the transaction. | |
| mgmt_hop_t | pop_hop () |
| Pop the first hop of the transaction and return it. | |
| size_t | get_size_bytes () const |
| void | populate_header (chdr_header &header) const |
| Populate the header for this type of packet. | |
| 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. | |
| 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). | |
| void | deserialize (const uint64_t *buff, size_t buff_size, const std::function< uint64_t(uint64_t)> &conv_byte_order) |
| template<endianness_t endianness> | |
| void | deserialize (const uint64_t *buff, size_t buff_size) |
| size_t | get_length () const |
| Get the serialized size of this payload in 64 bit words. | |
| std::string | to_string () const |
| Return a string representation of this object. | |
| std::string | hops_to_string () const |
| Return a string representaiton of the hops contained by this object. | |
| sep_id_t | get_src_epid () const |
| Return the source EPID for this transaction. | |
| void | set_src_epid (sep_id_t src_epid) |
| Set the source EPID for this transaction. | |
| bool | operator== (const mgmt_payload &rhs) const |
| Comparison operator (==). | |
| chdr_w_t | get_chdr_w () const |
| Return the CHDR_W for this transaction. | |
| void | set_chdr_w (chdr_w_t chdr_w) |
| Set the CHDR_W for this transaction. | |
| uint16_t | get_proto_ver () const |
| Return the protocol version for this transaction. | |
| void | set_proto_ver (uint16_t proto_ver) |
| Set the protocol version for this transaction. | |
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)
| buff | Buffer to deserialize the payload from |
| buff_size | Number of elements in the buffer |
| void uhd::rfnoc::chdr::mgmt_payload::deserialize | ( | const uint64_t * | buff, |
| size_t | buff_size, | ||
| const std::function< uint64_t(uint64_t)> & | conv_byte_order ) |
Deserialize the payload from a uint64_t buffer
| buff | Buffer to deserialize the payload from |
| buff_size | Number of elements in the buffer |
| conv_byte_order | Byte order converter function (buffer to host endianness) |
|
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.
| 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.
| std::string uhd::rfnoc::chdr::mgmt_payload::to_string | ( | ) | const |
Return a string representation of this object.