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 ¶
- type FCRP2PServer
- func (s *FCRP2PServer) AddHandler(listenAddr string, msgType int32, ...) *FCRP2PServer
- func (s *FCRP2PServer) AddRequester(msgType int32, ...) *FCRP2PServer
- func (s *FCRP2PServer) RequestGatewayFromGateway(id *nodeid.NodeID, msgType int32, args ...interface{}) (*fcrmessages.FCRMessage, error)
- func (s *FCRP2PServer) RequestGatewayFromProvider(id *nodeid.NodeID, msgType int32, args ...interface{}) (*fcrmessages.FCRMessage, error)
- func (s *FCRP2PServer) RequestProvider(id *nodeid.NodeID, msgType int32, args ...interface{}) (*fcrmessages.FCRMessage, error)
- func (s *FCRP2PServer) Start() error
- type FCRServerReader
- type FCRServerWriter
- func (w *FCRServerWriter) Write(msg *fcrmessages.FCRMessage, timeout time.Duration) error
- func (w *FCRServerWriter) WriteInvalidMessage(timeout time.Duration) error
- func (w *FCRServerWriter) WriteProtocolChanged(timeout time.Duration) error
- func (w *FCRServerWriter) WriteProtocolMismatch(timeout time.Duration) error
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 ¶
func (r *FCRServerReader) Read(timeout time.Duration) (*fcrmessages.FCRMessage, error)
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.