CatapultServer
v0.5.0.1 (Elephant)
|
Go to the documentation of this file.
26 namespace catapult {
namespace ionet {
struct NetworkNode; } }
28 namespace catapult {
namespace handlers {
50 const std::shared_ptr<const ionet::NetworkNode>& pLocalNode);
A node's publicly accessible endpoint.
Definition: Node.h:35
#define CATAPULT_LOG(SEV)
Writes a log entry to the default logger with SEV severity.
Definition: Logging.h:340
bool TryParseNodesPacket(const ionet::Packet &packet, ionet::NodeSet &nodes)
Tries to parse packet into nodes.
Definition: NodePingUtils.cpp:39
std::shared_ptr< T > UniqueToShared(std::unique_ptr< T > &&pointer)
Converts a unique pointer to a shared pointer of the same type.
Definition: MemoryUtils.h:47
def debug(*args)
Definition: Parser.py:46
void RegisterNodeDiscoveryPullPeersHandler(ionet::ServerPacketHandlers &handlers, const NodesSupplier &nodesSupplier)
Registers a node discovery pull peers handler in handlers that responds with nodes from nodesSupplier...
Definition: NodeDiscoveryHandlers.cpp:100
const Key & identityKey() const
Gets the unique identifier (a public key).
Definition: Node.cpp:60
void addServiceRegistrar(std::unique_ptr< ServiceRegistrar > &&pServiceRegistrar)
Adds a service registrar (pServiceRegistrar).
Definition: ExtensionManager.cpp:42
def warning(*args)
Definition: colorPrint.py:10
bool IsNodeCompatible(const ionet::Node &node, model::NetworkIdentifier networkIdentifier, const Key &identityKey)
Determines if node is compatible with expected network (networkIdentifier) and identity (identityKey)...
Definition: NodePingUtils.cpp:52
void RegisterNodeDiscoveryPullPingHandler(ionet::ServerPacketHandlers &handlers, const std::shared_ptr< const ionet::NetworkNode > &pLocalNode)
Definition: NodeDiscoveryHandlers.cpp:59
std::function< T()> supplier
A (stateless) supplier function.
Definition: functions.h:39
void RegisterNodeDiscoveryPushPingHandler(ionet::ServerPacketHandlers &handlers, model::NetworkIdentifier networkIdentifier, const NodeConsumer &nodeConsumer)
Definition: NodeDiscoveryHandlers.cpp:31
void registerHandler(PacketType type, const PacketHandler &handler)
Registers a handler for the specified packet type.
Definition: PacketHandlers.cpp:100
ionet::Node ToLocalNode(const CatapultConfiguration &config)
Extracts a node representing the local node from config.
Definition: CatapultConfiguration.cpp:75
static void RegisterZero(ionet::ServerPacketHandlers &handlers, TResultsProducerFactory resultsProducerFactory)
Definition: HandlerFactory.h:40
bool TryParseNodePacket(const ionet::Packet &packet, ionet::Node &node)
Tries to parse packet into node.
Definition: NodePingUtils.cpp:28
#define PLUGIN_API
Definition: plugins.h:30
std::unordered_set< Node, NodeHasher > NodeSet
A set of nodes.
Definition: Node.h:128
PLUGIN_API void RegisterExtension(catapult::extensions::ProcessBootstrapper &bootstrapper)
Entry point for registering a dynamic extension module with bootstrapper.
Definition: NodeDiscoveryExtension.cpp:38
void RegisterNodeDiscoveryPushPeersHandler(ionet::ServerPacketHandlers &handlers, const NodesConsumer &nodesConsumer)
Registers a node discovery push peers handler in handlers that forwards received nodes to nodesConsum...
Definition: NodeDiscoveryHandlers.cpp:70
static constexpr auto Packet_Type
Definition: NodeDiscoveryHandlers.cpp:84
ExtensionManager & extensionManager()
Gets the extension manager.
Definition: ProcessBootstrapper.cpp:67
consumer< const ionet::Node & > NodeConsumer
Consumes a node.
Definition: NodeDiscoveryHandlers.h:31
NetworkIdentifier
Possible network identifiers.
Definition: NetworkInfo.h:45
consumer< const ionet::NodeSet & > NodesConsumer
Consumes multiple nodes.
Definition: NodeDiscoveryHandlers.h:34
const config::CatapultConfiguration & config() const
Gets the configuration.
Definition: ProcessBootstrapper.cpp:47
const NodeEndpoint & endpoint() const
Gets the endpoint.
Definition: Node.cpp:64
const NodeMetadata & metadata() const
Gets tne metadata.
Definition: Node.cpp:68
std::string Host
Host.
Definition: Node.h:37
supplier< ionet::NodeSet > NodesSupplier
Supplies nodes.
Definition: NodeDiscoveryHandlers.h:37
ionet::Node Node
Definition: PacketWriters.cpp:45
Definition: AddressExtractionExtension.cpp:28
Process bootstrapper.
Definition: ProcessBootstrapper.h:42
std::unique_ptr< NetworkNode > PackNode(const Node &node)
Packs a node model into a network node.
Definition: NetworkNode.cpp:32
static PacketPayload FromEntity(PacketType type, const std::shared_ptr< TEntity > &pEntity)
Creates a packet payload with the specified packet type around a single entity (pEntity).
Definition: PacketPayloadFactory.h:31
constexpr bool IsPacketValid(const Packet &packet, PacketType type)
Checks if packet is valid with type.
Definition: Packet.h:75
A node in the catapult network.
Definition: Node.h:82
std::function< void(TArgs...)> consumer
A consumer function.
Definition: functions.h:35
A collection of packet handlers where there is at most one handler per packet type.
Definition: PacketHandlers.h:62
unsigned short Port
Port.
Definition: Node.h:40