Kagome
Polkadot Runtime Engine in C++17
kagome::network::StateProtocol Class Referenceabstract

Class for communication via /{chainType}/state/2 according to state protocol specification https://spec.polkadot.network/#sect-msg-state-request. More...

#include <state_protocol.hpp>

Inheritance diagram for kagome::network::StateProtocol:
Collaboration diagram for kagome::network::StateProtocol:

Public Member Functions

virtual void request (const PeerId &peer_id, StateRequest state_request, std::function< void(outcome::result< StateResponse >)> &&response_handler)=0
 Make async request to peer and return response in callback. More...
 
- Public Member Functions inherited from kagome::network::ProtocolBase
 ProtocolBase ()=default
 
 ProtocolBase (ProtocolBase &&) noexcept=delete
 
 ProtocolBase (const ProtocolBase &)=delete
 
virtual ~ProtocolBase ()=default
 
ProtocolBaseoperator= (ProtocolBase &&) noexcept=delete
 
ProtocolBaseoperator= (ProtocolBase const &)=delete
 
virtual const std::string & protocolName () const =0
 
virtual bool start ()=0
 
virtual bool stop ()=0
 
virtual void onIncomingStream (std::shared_ptr< Stream > stream)=0
 
virtual void newOutgoingStream (const PeerInfo &peer_info, std::function< void(outcome::result< std::shared_ptr< Stream >>)> &&cb)=0
 

Detailed Description

Class for communication via /{chainType}/state/2 according to state protocol specification https://spec.polkadot.network/#sect-msg-state-request.

Definition at line 33 of file state_protocol.hpp.

Member Function Documentation

virtual void kagome::network::StateProtocol::request ( const PeerId peer_id,
StateRequest  state_request,
std::function< void(outcome::result< StateResponse >)> &&  response_handler 
)
pure virtual

Make async request to peer and return response in callback.

Parameters
peer_idof a peer to make request to
state_requesta request content
response_handlera callback to call when response received

Implemented in kagome::network::StateProtocolImpl.


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