mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00

* [NOD-1223] Delete unused files/packages. * [NOD-1223] Move signal and limits to the os package. * [NOD-1223] Put database and dbaccess into the db package. * [NOD-1223] Fold the logs package into the logger package. * [NOD-1223] Rename domainmessage to appmessage. * [NOD-1223] Rename to/from DomainMessage to AppMessage. * [NOD-1223] Move appmessage to the app packge. * [NOD-1223] Move protocol to the app packge. * [NOD-1223] Move the network package to the infrastructure packge. * [NOD-1223] Rename cmd to executables. * [NOD-1223] Fix go.doc in the logger package.
48 lines
1.4 KiB
Go
48 lines
1.4 KiB
Go
package server
|
|
|
|
import (
|
|
"fmt"
|
|
"net"
|
|
|
|
"github.com/pkg/errors"
|
|
|
|
"github.com/kaspanet/kaspad/infrastructure/network/netadapter/router"
|
|
)
|
|
|
|
// OnConnectedHandler is a function that is to be called
|
|
// once a new Connection is successfully established.
|
|
type OnConnectedHandler func(connection Connection) error
|
|
|
|
// OnDisconnectedHandler is a function that is to be
|
|
// called once a Connection has been disconnected.
|
|
type OnDisconnectedHandler func()
|
|
|
|
// OnInvalidMessageHandler is a function that is to be called when
|
|
// an invalid message (cannot be parsed/doesn't have a route)
|
|
// was received from a connection.
|
|
type OnInvalidMessageHandler func(err error)
|
|
|
|
// Server represents a p2p server.
|
|
type Server interface {
|
|
Connect(address string) (Connection, error)
|
|
Start() error
|
|
Stop() error
|
|
SetOnConnectedHandler(onConnectedHandler OnConnectedHandler)
|
|
}
|
|
|
|
// Connection represents a p2p server connection.
|
|
type Connection interface {
|
|
fmt.Stringer
|
|
Start(router *router.Router)
|
|
Disconnect()
|
|
IsConnected() bool
|
|
IsOutbound() bool
|
|
SetOnDisconnectedHandler(onDisconnectedHandler OnDisconnectedHandler)
|
|
SetOnInvalidMessageHandler(onInvalidMessageHandler OnInvalidMessageHandler)
|
|
Address() *net.TCPAddr
|
|
}
|
|
|
|
// ErrNetwork is an error related to the internals of the connection, and not an error that
|
|
// came from outside (e.g. from OnDisconnectedHandler).
|
|
var ErrNetwork = errors.New("network error")
|