USRP Hardware Driver and USRP Manual  Version: 4.9.0.0
UHD and USRP Manual
uhd::rfnoc::detail::graph_t Class Reference

Container for the logical graph within an uhd::rfnoc_graph. More...

#include <uhd/rfnoc/detail/graph.hpp>

Public Types

using uptr = std::unique_ptr< graph_t >
 
using node_ref_t = uhd::rfnoc::node_t *
 A shorthand for a pointer to a node. More...
 
using graph_edge_t = uhd::rfnoc::graph_edge_t
 Shorthand to existing graph_edge_t. More...
 

Public Member Functions

 graph_t ()
 
 ~graph_t ()
 
void connect (node_ref_t src_node, node_ref_t dst_node, graph_edge_t edge_info)
 
void disconnect (node_ref_t src_node, node_ref_t dst_node, graph_edge_t edge_info)
 
void remove (node_ref_t node)
 
void commit ()
 
void release ()
 
void shutdown ()
 
std::vector< graph_edge_tenumerate_edges ()
 
std::string to_dot ()
 

Friends

class graph_accessor_t
 

Detailed Description

Container for the logical graph within an uhd::rfnoc_graph.

Member Typedef Documentation

◆ graph_edge_t

◆ node_ref_t

A shorthand for a pointer to a node.

◆ uptr

using uhd::rfnoc::detail::graph_t::uptr = std::unique_ptr<graph_t>

Constructor & Destructor Documentation

◆ graph_t()

uhd::rfnoc::detail::graph_t::graph_t ( )

◆ ~graph_t()

uhd::rfnoc::detail::graph_t::~graph_t ( )

Member Function Documentation

◆ commit()

void uhd::rfnoc::detail::graph_t::commit ( )

Commit graph and run initial checks

This method can be called anytime, but it's intended to be called when the graph has been committed. It will run checks on the graph and run a property propagation.

Exceptions
uhd::resolve_errorif the properties fail to resolve.

◆ connect()

void uhd::rfnoc::detail::graph_t::connect ( node_ref_t  src_node,
node_ref_t  dst_node,
graph_edge_t  edge_info 
)

Add a connection to the graph

After this function returns, the nodes will be considered connected along the ports specified in edge_info.

Parameters
src_nodeA reference to the source node
dst_nodeA reference to the destination node
edge_infoInformation about the type of edge

◆ disconnect()

void uhd::rfnoc::detail::graph_t::disconnect ( node_ref_t  src_node,
node_ref_t  dst_node,
graph_edge_t  edge_info 
)

Remove a connection from the graph

After this function returns, the nodes will be considered disconnected along the ports specified in edge_info.

Parameters
src_nodeA reference to the source node
dst_nodeA reference to the destination node
edge_infoInformation about the type of edge

◆ enumerate_edges()

std::vector<graph_edge_t> uhd::rfnoc::detail::graph_t::enumerate_edges ( )

Return a list of all edges

◆ release()

void uhd::rfnoc::detail::graph_t::release ( )

Opposite of commit()

Calling this will disable property propagation until commit() has been called an equal number of times.

◆ remove()

void uhd::rfnoc::detail::graph_t::remove ( node_ref_t  node)

Remove a node from the graph

Disconnects all edges and removes the node from the graph.

Parameters
nodeA reference to the node

◆ shutdown()

void uhd::rfnoc::detail::graph_t::shutdown ( )

Shutdown graph: Permenanently release

This will release the graph permanently and safely. All ongoing property and action handling is completed and then disabled (this means that calling shutdown while blocks are still working will cause actions to not get delivered).

◆ to_dot()

std::string uhd::rfnoc::detail::graph_t::to_dot ( )

Create a dot representation of the current graph

The graph is represented in the dot language, which can be visualized using the Graphviz tools. It contains all blocks and their connections. The connections are drawn between the ports of the blocks.

Friends And Related Function Documentation

◆ graph_accessor_t

friend class graph_accessor_t
friend

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