Versions in this module Expand all Collapse all v0 v0.1.1 May 16, 2026 v0.1.0 Mar 12, 2026 Changes in this version + var ErrMaxPeersReached = Error("maximum peers reached") + type Connection interface + Close func() error + LocalAddr func() string + Read func(p []byte) (n int, err error) + RemoteAddr func() string + RemoteID func() core.ID + Write func(p []byte) (n int, err error) + type Dialer interface + Dial func(ctx context.Context, addr string) (Connection, error) + type Error string + func (e Error) Error() string + type Handler interface + Handle func(ctx context.Context, msg *Message) (*Message, error) + type HandlerFunc func(ctx context.Context, msg *Message) (*Message, error) + func (f HandlerFunc) Handle(ctx context.Context, msg *Message) (*Message, error) + type Listener interface + Accept func() (Connection, error) + Addr func() string + Close func() error + type Message struct + From core.ID + Payload []byte + Signature []byte + Timestamp time.Time + To core.ID + Type MessageType + type MessageType uint8 + const MessageTypeAttestation + const MessageTypeHandshake + const MessageTypeHeartbeat + const MessageTypeOracleCommit + const MessageTypeOracleRecord + const MessageTypeOracleRequest + const MessageTypePing + const MessageTypePong + const MessageTypeReceipt + const MessageTypeSessionCreate + const MessageTypeSessionStart + const MessageTypeUnknown + func (t MessageType) String() string + type Peer struct + Addr string + ConnectedAt time.Time + ID core.ID + LastSeen time.Time + Latency time.Duration + MessagesReceived uint64 + MessagesSent uint64 + PublicKey []byte + State PeerState + func NewPeer(id core.ID, addr string) *Peer + func (p *Peer) Connection() Connection + func (p *Peer) Disconnect() error + func (p *Peer) IncrementReceived() + func (p *Peer) IncrementSent() + func (p *Peer) SetConnection(conn Connection) + func (p *Peer) UpdateLatency(latency time.Duration) + type PeerManager struct + func NewPeerManager(maxPeers int) *PeerManager + func (pm *PeerManager) Add(peer *Peer) error + func (pm *PeerManager) All() []*Peer + func (pm *PeerManager) Connected() []*Peer + func (pm *PeerManager) ConnectedIDs() []core.ID + func (pm *PeerManager) Count() int + func (pm *PeerManager) CountConnected() int + func (pm *PeerManager) Get(id core.ID) (*Peer, bool) + func (pm *PeerManager) GetByAddr(addr string) (*Peer, bool) + func (pm *PeerManager) Remove(id core.ID) + type PeerState uint8 + const PeerStateConnected + const PeerStateConnecting + const PeerStateDisconnected + const PeerStateDisconnecting + func (s PeerState) String() string + type Router struct + func NewRouter() *Router + func (r *Router) Register(msgType MessageType, handler Handler) + func (r *Router) RegisterFunc(msgType MessageType, f HandlerFunc) + func (r *Router) Route(ctx context.Context, msg *Message) (*Message, error) + type StreamConn struct + func NewStreamConn(conn Connection) *StreamConn + func (s *StreamConn) Close() error + func (s *StreamConn) ReadMessage() (*Message, error) + func (s *StreamConn) WriteMessage(msg *Message) error + type Transport interface + Broadcast func(ctx context.Context, msg *Message) error + Connect func(ctx context.Context, addr string) error + Disconnect func(nodeID core.ID) error + LocalID func() core.ID + Peers func() []core.ID + Receive func() <-chan *Message + Send func(ctx context.Context, to core.ID, msg *Message) error + Start func(ctx context.Context) error + Stop func() error