Documentation
¶
Index ¶
- type ProtocolMessenger
- func (p *ProtocolMessenger) FindNodes(info address.PeerAddressInfo, target []byte, k int) (*messaging.FindNodesResponse, error)
- func (p *ProtocolMessenger) FindProvider(info address.PeerAddressInfo, key []byte) (*messaging.FindProvidersResponse, error)
- func (p *ProtocolMessenger) Get(info address.PeerAddressInfo, key []byte) (*messaging.GetResponse, error)
- func (p *ProtocolMessenger) Ping(info address.PeerAddressInfo) (*messaging.PingResponse, error)
- func (p *ProtocolMessenger) Provide(info address.PeerAddressInfo, key []byte) (*messaging.ProvideResponse, error)
- func (p *ProtocolMessenger) Put(info address.PeerAddressInfo, key []byte, value []byte) (*messaging.PutResponse, error)
- func (p *ProtocolMessenger) Stop()
- type Server
- func (s *Server) FindNodes(ctx context.Context, request *messaging.FindNodesRequest) (*messaging.FindNodesResponse, error)
- func (s *Server) FindProvider(ctx context.Context, request *messaging.FindProvidersRequest) (*messaging.FindProvidersResponse, error)
- func (s *Server) Get(ctx context.Context, request *messaging.GetRequest) (*messaging.GetResponse, error)
- func (s *Server) MaybeAddToPeerStore(node string)
- func (s *Server) Ping(_ context.Context, request *messaging.PingRequest) (*messaging.PingResponse, error)
- func (s *Server) Provide(ctx context.Context, request *messaging.ProvideRequest) (*messaging.ProvideResponse, error)
- func (s *Server) Put(ctx context.Context, request *messaging.PutRequest) (*messaging.PutResponse, error)
- func (s *Server) StartServing()
- func (s *Server) StopServing()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ProtocolMessenger ¶
type ProtocolMessenger struct { SelfAddrInfo address.PeerAddressInfo // The self Address Information. SelfAddrSerialized string // The Self Address, serialized in serialized address format. RequestDeadline time.Duration // The request deadline Context context.Context // The context of the messenger. CancelFunc context.CancelFunc // The cancel func }
func NewProtocolMessenger ¶
func NewProtocolMessenger(addr address.PeerAddressInfo, deadline time.Duration) (*ProtocolMessenger, error)
NewProtocolMessenger returns a ProtocolMessenger Ready for use. Currently there is no dependency on Kad host. Can be directly used as client as well.
func (*ProtocolMessenger) FindNodes ¶
func (p *ProtocolMessenger) FindNodes(info address.PeerAddressInfo, target []byte, k int) (*messaging.FindNodesResponse, error)
func (*ProtocolMessenger) FindProvider ¶
func (p *ProtocolMessenger) FindProvider(info address.PeerAddressInfo, key []byte) (*messaging.FindProvidersResponse, error)
func (*ProtocolMessenger) Get ¶
func (p *ProtocolMessenger) Get(info address.PeerAddressInfo, key []byte) (*messaging.GetResponse, error)
func (*ProtocolMessenger) Ping ¶
func (p *ProtocolMessenger) Ping(info address.PeerAddressInfo) (*messaging.PingResponse, error)
func (*ProtocolMessenger) Provide ¶
func (p *ProtocolMessenger) Provide(info address.PeerAddressInfo, key []byte) (*messaging.ProvideResponse, error)
func (*ProtocolMessenger) Put ¶
func (p *ProtocolMessenger) Put(info address.PeerAddressInfo, key []byte, value []byte) (*messaging.PutResponse, error)
func (*ProtocolMessenger) Stop ¶
func (p *ProtocolMessenger) Stop()
type Server ¶
type Server struct { messaging.UnimplementedKademliaMessengerServer // Embedding for "Unimplemented" forward compatibility RoutingController *routing.Controller // The Controller for peer routing ProviderStore *prstore.ProviderStore // The controller for content routing ValueStore *vstore.ValueStore // the controller for decentralized KV store Port int32 // port of service RPCCoreServer *grpc.Server // the RPC server }
Server handles the wire communication. TODO: Add request validation stream interpreter may be
func NewServer ¶
func NewServer(prController *routing.Controller, crController *prstore.ProviderStore, vsController *vstore.ValueStore, port int32) *Server
func (*Server) FindNodes ¶
func (s *Server) FindNodes(ctx context.Context, request *messaging.FindNodesRequest) (*messaging.FindNodesResponse, error)
func (*Server) FindProvider ¶
func (s *Server) FindProvider(ctx context.Context, request *messaging.FindProvidersRequest) (*messaging.FindProvidersResponse, error)
func (*Server) Get ¶
func (s *Server) Get(ctx context.Context, request *messaging.GetRequest) (*messaging.GetResponse, error)
func (*Server) MaybeAddToPeerStore ¶
MaybeAddToPeerStore When a request is received, maybe add it to the peer store
func (*Server) Ping ¶
func (s *Server) Ping(_ context.Context, request *messaging.PingRequest) (*messaging.PingResponse, error)
func (*Server) Provide ¶
func (s *Server) Provide(ctx context.Context, request *messaging.ProvideRequest) (*messaging.ProvideResponse, error)
func (*Server) Put ¶
func (s *Server) Put(ctx context.Context, request *messaging.PutRequest) (*messaging.PutResponse, error)
func (*Server) StartServing ¶
func (s *Server) StartServing()
func (*Server) StopServing ¶
func (s *Server) StopServing()
Click to show internal directories.
Click to hide internal directories.