Loading...
Searching...
No Matches
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.
using | graph_edge_t = uhd::rfnoc::graph_edge_t
| Shorthand to existing graph_edge_t.

## 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_t > | enumerate_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

using uhd::rfnoc::detail::graph_t::graph_edge_t = uhd::rfnoc::graph_edge_t

Shorthand to existing graph_edge_t.

## node_ref_t

using uhd::rfnoc::detail::graph_t::node_ref_t = uhd::rfnoc::node_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_error | if 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_node | A reference to the source node
  dst_node | A reference to the destination node
  edge_info | Information 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_node | A reference to the source node
  dst_node | A reference to the destination node
  edge_info | Information 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

  node | A 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 Symbol Documentation

## graph_accessor_t

friend class graph_accessor_t

friend

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

- graph.hpp