Documentation ¶
Index ¶
- Constants
- Variables
- func IsValidKey(key []byte) bool
- func NewAnnouncePeersTask(interval time.Duration, pm *peerManager) *announcePeersTask
- func NewBootstrapNode(port uint, bootstrapPeers []string, p2pKey cryptop2p.PrivKey, ...) *bootstrapNode
- func NewConnectToPeersTask(interval time.Duration, pm *peerManager) *connectToPeersTask
- func NewDHTClient(libp2pHost host.Host, dht DHT, peerManager PeerManager) *dhtClient
- func NewPeerManager(transport *transport, discoveryKey string, libp2pHost corehost.Host, dht DHT, ...) *peerManager
- func NewStore(db *state.DBTree) (*store, error)
- func NewTransport(port uint, reachableAt string, bootstrapPeers []string, datastorePath string, ...) (*transport, error)
- type BootstrapNode
- type DHT
- type DHTClient
- type Msg
- type PeerManager
- type PeerSet
- func (set *PeerSet) AddString(s string) error
- func (set PeerSet) ContainsPeerID(peerID corepeer.ID) bool
- func (set PeerSet) ContainsPeerIDString(peerIDStr string) bool
- func (set PeerSet) Copy() PeerSet
- func (set PeerSet) MultiaddrStrings() []string
- func (set *PeerSet) Peers() PeerSet
- func (set *PeerSet) RemoveString(s string) error
- func (set PeerSet) Slice() []corepeer.AddrInfo
- type Store
- type Transport
Constants ¶
Variables ¶
View Source
var (
ErrWrongProtocol = errors.New("wrong protocol")
)
Functions ¶
func IsValidKey ¶
func NewAnnouncePeersTask ¶
func NewBootstrapNode ¶
func NewConnectToPeersTask ¶
func NewDHTClient ¶
func NewDHTClient(libp2pHost host.Host, dht DHT, peerManager PeerManager) *dhtClient
func NewPeerManager ¶
Types ¶
type BootstrapNode ¶
type DHTClient ¶
type DHTClient interface { process.Interface AnnounceStateURIs(ctx context.Context, stateURIs types.Set[string]) AnnounceBlobs(ctx context.Context, blobIDs types.Set[blob.ID]) ProvidersOfStateURI(ctx context.Context, stateURI string) (<-chan prototree.TreePeerConn, error) ProvidersOfBlob(ctx context.Context, blobID blob.ID) (<-chan protoblob.BlobPeerConn, error) }
type Msg ¶
type Msg struct { Type msgType `json:"type"` Payload interface{} `json:"payload"` }
func (*Msg) UnmarshalJSON ¶
type PeerManager ¶
type PeerManager interface { process.Interface NewPeerConn(ctx context.Context, dialAddr string) (swarm.PeerConn, error) OnPeerFound(via string, pinfo peer.AddrInfo) OnConnectedToPeer(network network.Network, conn network.Conn) MakeConnectedPeerConn(stream network.Stream) *peerConn MakeDisconnectedPeerConn(pinfo peer.AddrInfo) (*peerConn, error) EnsureConnectedToAllPeers() }
type PeerSet ¶
type PeerSet struct {
// contains filtered or unexported fields
}
func NewPeerSet ¶
func NewPeerSet() PeerSet
func NewPeerSetFromStrings ¶
func (PeerSet) ContainsPeerIDString ¶
func (PeerSet) MultiaddrStrings ¶
func (*PeerSet) RemoveString ¶
type Transport ¶
type Transport interface { process.Interface swarm.Transport protoauth.AuthTransport protoblob.BlobTransport protohush.HushTransport prototree.TreeTransport Libp2pPeerID() string ListenAddrs() []string Peers() []peer.AddrInfo AddStaticRelay(relayAddr string) error RemoveStaticRelay(relayAddr string) error StaticRelays() PeerSet }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.