fcrp2pserver

package
v0.0.0-...-12ab560 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 29, 2021 License: Apache-2.0 Imports: 11 Imported by: 2

Documentation

Overview

Package fcrp2pserver - contains common operations used by FileCoin Secondary Retrieval network nodes to establish and perform TCP communications between the nodes.

Operations like get a Gateway or Provider by an identifier, send or read messages.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FCRP2PServer

type FCRP2PServer struct {
	// contains filtered or unexported fields
}

FCRP2PServer represents a server handling p2p connection using tcp.

func NewFCRP2PServer

func NewFCRP2PServer(
	listenAddrs []string,
	registerMgr *fcrregistermgr.FCRRegisterMgr,
	defaultTimeout time.Duration) *FCRP2PServer

NewFCRP2PServer creates an empty FCRP2PServer.

func (*FCRP2PServer) AddHandler

func (s *FCRP2PServer) AddHandler(listenAddr string, msgType int32, handler func(reader *FCRServerReader, writer *FCRServerWriter, request *fcrmessages.FCRMessage) error) *FCRP2PServer

AddHandler is used to add a handler to the server for a given type.

func (*FCRP2PServer) AddRequester

func (s *FCRP2PServer) AddRequester(msgType int32, requester func(reader *FCRServerReader, writer *FCRServerWriter, args ...interface{}) (*fcrmessages.FCRMessage, error)) *FCRP2PServer

AddRequester is used to add a requester to the server for a given type.

func (*FCRP2PServer) RequestGatewayFromGateway

func (s *FCRP2PServer) RequestGatewayFromGateway(id *nodeid.NodeID, msgType int32, args ...interface{}) (*fcrmessages.FCRMessage, error)

RequestGatewayFromGateway uses a given requester to send a request to a given gateway from gateway.

func (*FCRP2PServer) RequestGatewayFromProvider

func (s *FCRP2PServer) RequestGatewayFromProvider(id *nodeid.NodeID, msgType int32, args ...interface{}) (*fcrmessages.FCRMessage, error)

RequestGatewayFromProvider uses a given requester to send a request to a given gateway from provider.

func (*FCRP2PServer) RequestProvider

func (s *FCRP2PServer) RequestProvider(id *nodeid.NodeID, msgType int32, args ...interface{}) (*fcrmessages.FCRMessage, error)

RequestProvider uses a given requester to send a request to a given provider. (Only possible from gateway)

func (*FCRP2PServer) Start

func (s *FCRP2PServer) Start() error

Start is used to start the server.

type FCRServerReader

type FCRServerReader struct {
	// contains filtered or unexported fields
}

FCRServerReader stores the connection to read from.

func (*FCRServerReader) Read

Write reads a message.

type FCRServerWriter

type FCRServerWriter struct {
	// contains filtered or unexported fields
}

FCRServerWriter stores the connection to write to.

func (*FCRServerWriter) Write

func (w *FCRServerWriter) Write(msg *fcrmessages.FCRMessage, timeout time.Duration) error

Write writes a given message.

func (*FCRServerWriter) WriteInvalidMessage

func (w *FCRServerWriter) WriteInvalidMessage(timeout time.Duration) error

WriteInvalidMessage sends an invalid message.

func (*FCRServerWriter) WriteProtocolChanged

func (w *FCRServerWriter) WriteProtocolChanged(timeout time.Duration) error

WriteProtocolChanged writes a protocol changed message.

func (*FCRServerWriter) WriteProtocolMismatch

func (w *FCRServerWriter) WriteProtocolMismatch(timeout time.Duration) error

WriteProtocolMismatch sends a protocol mistmatch message.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL