Documentation
¶
Index ¶
- type DiscoveryHandler
- type DistributedHashTableCloser
- type PeerRater
- type PeersRatings
- type PubSubProvider
- type RatingProvider
- type RatingStorer
- type RelayNode
- func (rn *RelayNode) GenericStream(nodeIdStr string, path stream.WarpRoute, data any) (_ []byte, err error)
- func (rn *RelayNode) Network() warpnet.WarpNetwork
- func (rn *RelayNode) Node() warpnet.P2PNode
- func (rn *RelayNode) NodeInfo() warpnet.NodeInfo
- func (rn *RelayNode) Peerstore() warpnet.WarpPeerstore
- func (rn *RelayNode) SelfStream(from, to warpnet.WarpPeerID, path stream.WarpRoute, data any) (_ []byte, err error)
- func (rn *RelayNode) SetMaxNodePriority(pid warpnet.WarpPeerID)
- func (rn *RelayNode) SetMinNodePriority(pid warpnet.WarpPeerID)
- func (rn *RelayNode) SetNodePriority(pid warpnet.WarpPeerID, r warpnet.WarpReachability)
- func (rn *RelayNode) SimpleConnect(info warpnet.WarpAddrInfo) error
- func (rn *RelayNode) Start() (err error)
- func (rn *RelayNode) Stop()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DiscoveryHandler ¶
type DiscoveryHandler interface {
DiscoveryHandlerStream(pi warpnet.WarpAddrInfo)
Run(n discovery.DiscoveryInfoStorer) error
Event() <-chan warpnet.PeerEvent
Close()
}
type PeerRater ¶ added in v0.8.77
type PeerRater interface {
Listen(sources ...<-chan warpnet.PeerEvent)
View(peerID warpnet.WarpPeerID) (domain.NodeRating, error)
Own() (domain.NodeRating, error)
Close() error
}
PeerRater listens to what the modules saw the peers do and rates them.
type PeersRatings ¶ added in v0.8.77
type PeersRatings interface {
Rate(peerID warpnet.WarpPeerID, tier rating.Tier)
ConnTag(peerID warpnet.WarpPeerID) int
GossipScore(peerID warpnet.WarpPeerID) float64
RateMultiplier(peerID warpnet.WarpPeerID) float64
IsAllowedInDHT(peerID warpnet.WarpPeerID) bool
}
PeersRatings is how this node rates its peers: the engine writes it, and this node's modules read what follows from it.
type PubSubProvider ¶
type PubSubProvider interface {
Run(m pubsub.PubsubServerNodeConnector)
Gossip() *corePubsub.Gossip
Close() error
OwnerID() string
}
type RatingProvider ¶ added in v0.8.77
type RatingProvider interface {
Get(ctx context.Context, key ds.Key) ([]byte, error)
Has(ctx context.Context, key ds.Key) (bool, error)
GetSize(ctx context.Context, key ds.Key) (int, error)
Query(ctx context.Context, q ds.Query) (ds.Results, error)
Put(ctx context.Context, key ds.Key, value []byte) error
Delete(ctx context.Context, key ds.Key) error
Sync(ctx context.Context, prefix ds.Key) error
Close() error
}
RatingProvider is the local storage the rating replica is built on.
type RatingStorer ¶ added in v0.8.77
type RatingStorer interface {
Put(rec domain.RatingRecord) error
List(peerID string) ([]domain.RatingRecord, error)
PeerIDs() ([]string, error)
DeleteExpired(dimension string, beforeBucket int64) error
OnPut(hook func(domain.RatingRecord))
OnDelete(hook func(domain.RatingRecord))
Close() error
}
RatingStorer is the replicated record store the rating engine writes to.
type RelayNode ¶
type RelayNode struct {
// contains filtered or unexported fields
}
func NewRelayNode ¶
func NewRelayNode( ctx context.Context, privKey ed25519.PrivateKey, psk security.PSK, ownNodeId warpnet.WarpPeerID, ) (_ *RelayNode, err error)
func (*RelayNode) GenericStream ¶
func (*RelayNode) Network ¶
func (rn *RelayNode) Network() warpnet.WarpNetwork
func (*RelayNode) Peerstore ¶
func (rn *RelayNode) Peerstore() warpnet.WarpPeerstore
func (*RelayNode) SelfStream ¶
func (*RelayNode) SetMaxNodePriority ¶
func (rn *RelayNode) SetMaxNodePriority(pid warpnet.WarpPeerID)
func (*RelayNode) SetMinNodePriority ¶
func (rn *RelayNode) SetMinNodePriority(pid warpnet.WarpPeerID)
func (*RelayNode) SetNodePriority ¶
func (rn *RelayNode) SetNodePriority(pid warpnet.WarpPeerID, r warpnet.WarpReachability)
func (*RelayNode) SimpleConnect ¶
func (rn *RelayNode) SimpleConnect(info warpnet.WarpAddrInfo) error
Click to show internal directories.
Click to hide internal directories.