USRP Hardware Driver and USRP Manual  Version: 4.6.0.0
UHD and USRP Manual
uhd::rfnoc::chdr::mgmt_payload Class Reference

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_payloadoperator= (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_tget_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 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. 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...
 

Detailed Description

A class that represents a complete multi-hop management transaction.

Constructor & Destructor Documentation

◆ mgmt_payload() [1/3]

uhd::rfnoc::chdr::mgmt_payload::mgmt_payload ( )
default

◆ mgmt_payload() [2/3]

uhd::rfnoc::chdr::mgmt_payload::mgmt_payload ( const mgmt_payload rhs)
default

◆ mgmt_payload() [3/3]

uhd::rfnoc::chdr::mgmt_payload::mgmt_payload ( mgmt_payload &&  rhs)
default

Member Function Documentation

◆ add_hop()

void uhd::rfnoc::chdr::mgmt_payload::add_hop ( const mgmt_hop_t hop)
inline

Add a management hop to this transaction.

◆ deserialize() [1/2]

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

Parameters
buffBuffer to deserialize the payload from
buff_sizeNumber of elements in the buffer
conv_byte_orderByte order converter function (buffer to host endianness)

◆ deserialize() [2/2]

template<endianness_t endianness>
void uhd::rfnoc::chdr::mgmt_payload::deserialize ( const uint64_t *  buff,
size_t  buff_size 
)
inline

Deserialize the payload from a uint64_t buffer (no conversion function)

Parameters
buffBuffer to deserialize the payload from
buff_sizeNumber of elements in the buffer

◆ get_chdr_w()

chdr_w_t uhd::rfnoc::chdr::mgmt_payload::get_chdr_w ( ) const
inline

Return the CHDR_W for this transaction.

◆ get_hop()

const mgmt_hop_t& uhd::rfnoc::chdr::mgmt_payload::get_hop ( size_t  i) const
inline

Get the n'th hop in the transaction.

◆ get_length()

size_t uhd::rfnoc::chdr::mgmt_payload::get_length ( ) const

Get the serialized size of this payload in 64 bit words.

◆ get_num_hops()

size_t uhd::rfnoc::chdr::mgmt_payload::get_num_hops ( ) const
inline

Get the number of management hops in this hop.

◆ get_proto_ver()

uint16_t uhd::rfnoc::chdr::mgmt_payload::get_proto_ver ( ) const
inline

Return the protocol version for this transaction.

◆ get_size_bytes()

size_t uhd::rfnoc::chdr::mgmt_payload::get_size_bytes ( ) const
inline

◆ get_src_epid()

sep_id_t uhd::rfnoc::chdr::mgmt_payload::get_src_epid ( ) const
inline

Return the source EPID for this transaction.

◆ hops_to_string()

const std::string uhd::rfnoc::chdr::mgmt_payload::hops_to_string ( ) const

Return a string representaiton of the hops contained by this object.

◆ operator=()

mgmt_payload& uhd::rfnoc::chdr::mgmt_payload::operator= ( const mgmt_payload rhs)
default

◆ operator==()

bool uhd::rfnoc::chdr::mgmt_payload::operator== ( const mgmt_payload rhs) const

Comparison operator (==)

◆ pop_hop()

mgmt_hop_t uhd::rfnoc::chdr::mgmt_payload::pop_hop ( )
inline

Pop the first hop of the transaction and return it.

◆ populate_header()

void uhd::rfnoc::chdr::mgmt_payload::populate_header ( chdr_header header) const

Populate the header for this type of packet.

◆ serialize() [1/2]

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.

◆ serialize() [2/2]

template<endianness_t endianness>
size_t uhd::rfnoc::chdr::mgmt_payload::serialize ( uint64_t *  buff,
size_t  max_size_bytes 
) const
inline

Serialize the payload to a uint64_t buffer (no conversion function)

◆ set_chdr_w()

void uhd::rfnoc::chdr::mgmt_payload::set_chdr_w ( chdr_w_t  chdr_w)
inline

Set the CHDR_W for this transaction.

◆ set_header()

void uhd::rfnoc::chdr::mgmt_payload::set_header ( sep_id_t  src_epid,
uint16_t  protover,
chdr_w_t  chdr_w 
)
inline

◆ set_proto_ver()

void uhd::rfnoc::chdr::mgmt_payload::set_proto_ver ( uint16_t  proto_ver)
inline

Set the protocol version for this transaction.

◆ set_src_epid()

void uhd::rfnoc::chdr::mgmt_payload::set_src_epid ( sep_id_t  src_epid)
inline

Set the source EPID for this transaction.

◆ to_string()

const std::string uhd::rfnoc::chdr::mgmt_payload::to_string ( ) const

Return a string representation of this object.


The documentation for this class was generated from the following file: