15template <
typename payload_t>
 
   19    boost::optional<uint64_t> timestamp,
 
   20    std::vector<uint64_t> metadata)
 
   21    : 
chdr_packet(chdr_w, header, 
std::vector<uint8_t>(), timestamp, 
std::move(metadata))
 
 
   26template <
typename OutputIterator>
 
   30    void* start = 
static_cast<void*
>(&*first);
 
   31    void* end   = 
static_cast<void*
>(&*last);
 
   32    serialize_ptr(endianness, start, end);
 
 
   35template <
typename InputIterator>
 
   41    void* start = 
static_cast<void*
>(&*first);
 
   42    void* end   = 
static_cast<void*
>(&*last);
 
   43    return deserialize_ptr(chdr_w, endianness, start, end);
 
 
   46template <
typename payload_t>
 
   53    auto conv_byte_order = [endianness](uint64_t x) -> uint64_t {
 
   57    payload.deserialize(
reinterpret_cast<const uint64_t*
>(this->_payload.data()),
 
   58        this->_payload.size(),
 
 
   63template <
typename payload_t>
 
   68    size_t payload_len_words = payload.get_length();
 
   69    this->_payload.resize(payload_len_words * 
sizeof(uint64_t), 0);
 
   70    auto conv_byte_order = [endianness](uint64_t x) -> uint64_t {
 
   74    payload.serialize(
reinterpret_cast<uint64_t*
>(this->_payload.data()),
 
   75        this->_payload.size(),
 
 
   80template <
typename payload_t>
 
   92        this->get_payload<chdr_rfnoc::mgmt_payload>(endianness);
 
 
A class that represents a complete multi-hop management transaction.
Definition chdr_types.hpp:809
std::string hops_to_string() const
Return a string representaiton of the hops contained by this object.
std::string to_string() const
Return a string representation of this object.
std::string to_string_with_payload(uhd::endianness_t endianness=uhd::ENDIANNESS_LITTLE) const
Return a string representation of this object and deserialize its payload.
Definition chdr_packet.ipp:81
void set_payload(payload_t payload, uhd::endianness_t endianness=uhd::ENDIANNESS_LITTLE)
Definition chdr_packet.ipp:64
std::string to_string() const
Return a string representation of this object.
chdr_packet(uhd::rfnoc::chdr_w_t chdr_w, uhd::rfnoc::chdr::chdr_header header, payload_t payload, boost::optional< uint64_t > timestamp=boost::none, std::vector< uint64_t > metadata={})
Definition chdr_packet.ipp:16
payload_t get_payload(uhd::endianness_t endianness=uhd::ENDIANNESS_LITTLE) const
Definition chdr_packet.ipp:47
static chdr_packet deserialize(uhd::rfnoc::chdr_w_t chdr_w, InputIterator first, InputIterator last, endianness_t endianness=uhd::ENDIANNESS_LITTLE)
Definition chdr_packet.ipp:36
void serialize(OutputIterator first, OutputIterator last, endianness_t endianness=uhd::ENDIANNESS_LITTLE) const
Definition chdr_packet.ipp:27
#define UHD_ASSERT_THROW(code)
Definition exception.hpp:322
Definition chdr_types.hpp:19
constexpr packet_type_t payload_to_packet_type()
Conversion from payload_t to pkt_type.
chdr_w_t
Type that indicates the CHDR Width in bits.
Definition rfnoc_types.hpp:19
Definition chdr_packet.hpp:20
Definition chdr_packet.hpp:20
Definition build_info.hpp:12
T htowx(T)
host to worknet: short, long, or long-long
Definition byteswap.ipp:142
T htonx(T)
host to network: short, long, or long-long
Definition byteswap.ipp:122
endianness_t
Definition endianness.hpp:30
@ ENDIANNESS_BIG
Definition endianness.hpp:30