USRP Hardware Driver and Device Manual  Version: 4.11.0.HEAD-0-1c0dfa23
UHD and USRP Manual
uhd::rfnoc::node_accessor_t Class Reference

Special class which may access nodes. More...

#include <uhd/rfnoc/node_accessor.hpp>

Detailed Description

Special class which may access nodes.

For the sake of property resolution, we require access to certain private members of nodes. Instead of giving everyone access to everything, we create this accessor class to allow by-passing the access control.

This class is not meant to be used by users of the RFNoC API, but in certain corner cases, it may be useful for RFNoC block developers. One main use case is unit tests, where we need to access the internals of nodes to test their functionality (e.g., by reading hidden state). It is not considered good practice to use this class in production code, as it breaks encapsulation.

Public Types

using prop_ptrs_t = node_t::prop_ptrs_t
 

Public Member Functions

void init_props (node_t *node)
 
void resolve_props (node_t *node)
 
template<typename PredicateType >
node_t::prop_ptrs_t filter_props (node_t *node, PredicateType &&predicate)
 
void clean_props (node_t *node)
 
void set_resolve_all_callback (node_t *node, node_t::resolve_callback_t &&resolver)
 
void clear_resolve_all_callback (node_t *node)
 
void set_graph_mutex_callback (node_t *node, node_t::graph_mutex_callback_t &&mutex)
 
void clear_graph_mutex_callback (node_t *node)
 
void forward_edge_property (node_t *dst_node, const size_t dst_port, property_base_t *incoming_prop)
 
void set_post_action_callback (node_t *node, node_t::post_action_handler_t &&post_handler)
 
void send_action (node_t *node, const res_source_info &port_info, action_info::sptr action)
 
void post_action (node_t *node, const res_source_info &edge_info, action_info::sptr action)
 
bool check_topology (node_t *node, const std::vector< size_t > &connected_inputs, const std::vector< size_t > &connected_outputs)
 
void shutdown (node_t *node)
 

Member Typedef Documentation

◆ prop_ptrs_t

Member Function Documentation

◆ check_topology()

bool uhd::rfnoc::node_accessor_t::check_topology ( node_t node,
const std::vector< size_t > &  connected_inputs,
const std::vector< size_t > &  connected_outputs 
)
inline

Check topology for this block

See node_t::check_topology() for details

◆ clean_props()

void uhd::rfnoc::node_accessor_t::clean_props ( node_t node)
inline

Mark all properties on this node as clean

See node_t::clean_props() for details.

◆ clear_graph_mutex_callback()

void uhd::rfnoc::node_accessor_t::clear_graph_mutex_callback ( node_t node)
inline

Clears the graph mutex callback. Called when node is disconnected from the graph.

See node_t::clear_graph_mutex_callback() for details.

◆ clear_resolve_all_callback()

void uhd::rfnoc::node_accessor_t::clear_resolve_all_callback ( node_t node)
inline

◆ filter_props()

template<typename PredicateType >
node_t::prop_ptrs_t uhd::rfnoc::node_accessor_t::filter_props ( node_t node,
PredicateType &&  predicate 
)
inline

Returns a filtered list of properties.

The return list contains all properties that match a given predicate.

◆ forward_edge_property()

void uhd::rfnoc::node_accessor_t::forward_edge_property ( node_t dst_node,
const size_t  dst_port,
property_base_t incoming_prop 
)
inline

Forward an edge property to dst_node

See node_t::forward_edge_property() for details.

◆ init_props()

void uhd::rfnoc::node_accessor_t::init_props ( node_t node)
inline

Initializes the properties of a node. See node_t::init_props() for details.

◆ post_action()

void uhd::rfnoc::node_accessor_t::post_action ( node_t node,
const res_source_info edge_info,
action_info::sptr  action 
)
inline

Fake a post_action() call from this node

This will call node_t::post_action() (see that for details).

◆ resolve_props()

void uhd::rfnoc::node_accessor_t::resolve_props ( node_t node)
inline

Does a local resolution of properties on node.

See node_t::resolve_props for details.

◆ send_action()

void uhd::rfnoc::node_accessor_t::send_action ( node_t node,
const res_source_info port_info,
action_info::sptr  action 
)
inline

Send an action to node

This will call node_t::receive_action() (see that for details).

◆ set_graph_mutex_callback()

void uhd::rfnoc::node_accessor_t::set_graph_mutex_callback ( node_t node,
node_t::graph_mutex_callback_t &&  mutex 
)
inline

Sets a callback that the node can call to the mutex to the graph it is connected to. Used for setting properties and propagation.

See node_t::set_graph_mutex_callback() for details.

◆ set_post_action_callback()

void uhd::rfnoc::node_accessor_t::set_post_action_callback ( node_t node,
node_t::post_action_handler_t &&  post_handler 
)
inline

Set post action callback for the node

See node_t::set_post_action_callback() for details.

◆ set_resolve_all_callback()

void uhd::rfnoc::node_accessor_t::set_resolve_all_callback ( node_t node,
node_t::resolve_callback_t &&  resolver 
)
inline

Set a resolver callback for the node

See node_t::set_resolve_all_callback() for details.

◆ shutdown()

void uhd::rfnoc::node_accessor_t::shutdown ( node_t node)
inline

Put a node into shutdown

See node_t::shutdown(), and also noc_block_base::shutdown() for details.


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