USRP Hardware Driver and USRP Manual  Version: 4.7.0.0
UHD and USRP Manual
uhd::rfnoc::graph_edge_t Struct Reference

#include <uhd/rfnoc/graph_edge.hpp>

Public Types

enum  edge_t { STATIC, DYNAMIC, RX_STREAM, TX_STREAM }
 

Public Member Functions

 graph_edge_t ()=default
 
 graph_edge_t (const size_t src_port_, const size_t dst_port_, const edge_t edge_, const bool fwd_edge)
 
bool operator== (const graph_edge_t &rhs) const
 Equality operator: Compare two edges if they match, including edge. More...
 
bool is_equal (const graph_edge_t &rhs, const bool match_properties=false) const
 
std::string to_string () const
 Return a string representation of the connection. More...
 

Public Attributes

std::string src_blockid
 The ID of the source block for this edge. More...
 
size_t src_port = 0
 The port number of the source block for this edge. More...
 
std::string dst_blockid
 The ID of the destination block for this edge. More...
 
size_t dst_port = 0
 The port number of the destination block for this edge. More...
 
edge_t edge = DYNAMIC
 The type of edge. More...
 
bool is_forward_edge = true
 When false, the framework will assume this is a back-edge. Back-edges. More...
 

Detailed Description

A container that holds information about a graph edge

Note: The source and destination IDs are strings, not block IDs (uhd::rfnoc::block_id_t). This is because the graph can contain edges that are not between RFNoC blocks (e.g., to a streamer), and we need to be able to generically express node IDs.

Member Enumeration Documentation

◆ edge_t

Enumerator
STATIC 

A static connection between two blocks in the FPGA.

DYNAMIC 

A user (dynamic) connection between two blocks in the FPGA.

RX_STREAM 

A connection from an FPGA block to a software RX streamer.

TX_STREAM 

A connection from a software TX streamer and an FPGA block.

Constructor & Destructor Documentation

◆ graph_edge_t() [1/2]

uhd::rfnoc::graph_edge_t::graph_edge_t ( )
default

◆ graph_edge_t() [2/2]

uhd::rfnoc::graph_edge_t::graph_edge_t ( const size_t  src_port_,
const size_t  dst_port_,
const edge_t  edge_,
const bool  fwd_edge 
)
inline

Member Function Documentation

◆ is_equal()

bool uhd::rfnoc::graph_edge_t::is_equal ( const graph_edge_t rhs,
const bool  match_properties = false 
) const
inline

Equality comparison of two edges.

If match_properties is false, this compares two edges to test if they have the same direction, source port, and destination port. If match_properties is true, then it also tests if all the edge properties match (edge type, back-edge).

Returns
true if edges match.

◆ operator==()

bool uhd::rfnoc::graph_edge_t::operator== ( const graph_edge_t rhs) const
inline

Equality operator: Compare two edges if they match, including edge.

◆ to_string()

std::string uhd::rfnoc::graph_edge_t::to_string ( void  ) const
inline

Return a string representation of the connection.

Member Data Documentation

◆ dst_blockid

std::string uhd::rfnoc::graph_edge_t::dst_blockid

The ID of the destination block for this edge.

◆ dst_port

size_t uhd::rfnoc::graph_edge_t::dst_port = 0

The port number of the destination block for this edge.

◆ edge

edge_t uhd::rfnoc::graph_edge_t::edge = DYNAMIC

The type of edge.

◆ is_forward_edge

bool uhd::rfnoc::graph_edge_t::is_forward_edge = true

When false, the framework will assume this is a back-edge. Back-edges.

◆ src_blockid

std::string uhd::rfnoc::graph_edge_t::src_blockid

The ID of the source block for this edge.

◆ src_port

size_t uhd::rfnoc::graph_edge_t::src_port = 0

The port number of the source block for this edge.


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