Apollo  6.0
Open source self driving car software
Classes | Namespaces | Typedefs
topology_manager.h File Reference
#include <atomic>
#include <functional>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include "cyber/base/signal.h"
#include "cyber/common/macros.h"
#include "cyber/service_discovery/communication/participant_listener.h"
#include "cyber/service_discovery/specific_manager/channel_manager.h"
#include "cyber/service_discovery/specific_manager/node_manager.h"
#include "cyber/service_discovery/specific_manager/service_manager.h"
#include "cyber/transport/rtps/participant.h"
Include dependency graph for topology_manager.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  apollo::cyber::service_discovery::TopologyManager
 elements in Cyber – Node, Channel, Service, Writer, Reader, Client and Server's relationship is presented by Topology. You can Imagine that a directed graph – Node is the container of Server/Client/Writer/Reader, and they are the vertice of the graph and Channel is the Edge from Writer flow to the Reader, Service is the Edge from Server to Client. Thus we call Writer and Server Upstream, Reader and Client Downstream To generate this graph, we use TopologyManager, it has three sub managers – NodeManager: You can find Nodes in this topology ChannelManager: You can find Channels in this topology, and their Writers and Readers ServiceManager: You can find Services in this topology, and their Servers and Clients TopologyManager use fast-rtps' Participant to communicate. It can broadcast Join or Leave messages of those elements. Also, you can register you own ChangeFunc to monitor topology change More...
 

Namespaces

 apollo
 PlanningContext is the runtime context in planning. It is persistent across multiple frames.
 
 apollo::cyber
 
 apollo::cyber::service_discovery
 

Typedefs

using apollo::cyber::service_discovery::NodeManagerPtr = std::shared_ptr< NodeManager >
 
using apollo::cyber::service_discovery::ChannelManagerPtr = std::shared_ptr< ChannelManager >
 
using apollo::cyber::service_discovery::ServiceManagerPtr = std::shared_ptr< ServiceManager >