mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-25 20:37:53 +08:00
coreapi: swarm interface
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com> This commit was moved from ipfs/interface-go-ipfs-core@bc2ae0a441 This commit was moved from ipfs/boxo@398a8ffdf5
This commit is contained in:
parent
ba7a34448e
commit
8404b8263d
37
core/coreiface/swarm.go
Normal file
37
core/coreiface/swarm.go
Normal file
@ -0,0 +1,37 @@
|
||||
package iface
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"context"
|
||||
ma "gx/ipfs/QmWWQ2Txc2c6tqjsBpzg5Ar652cHPGNsQQp2SejkNmkUMb/go-multiaddr"
|
||||
peer "gx/ipfs/QmZoWKhxUmZ2seW4BzX6fJkNR8hh9PsGModr7q171yq2SS/go-libp2p-peer"
|
||||
)
|
||||
|
||||
// PeerInfo contains information about a peer
|
||||
type PeerInfo interface {
|
||||
// ID returns PeerID
|
||||
ID() peer.ID
|
||||
|
||||
// Address returns the multiaddress via which we are connected with the peer
|
||||
Address() ma.Multiaddr
|
||||
|
||||
// Latency returns last known round trip time to the peer
|
||||
Latency() time.Duration
|
||||
|
||||
// Streams returns list of streams established with the peer
|
||||
// TODO: should this return multicodecs?
|
||||
Streams() []string
|
||||
}
|
||||
|
||||
// SwarmAPI specifies the interface to libp2p swarm
|
||||
type SwarmAPI interface {
|
||||
// Connect to a given address
|
||||
Connect(context.Context, ma.Multiaddr) error
|
||||
|
||||
// Disconnect from a given address
|
||||
Disconnect(context.Context, ma.Multiaddr) error
|
||||
|
||||
// Peers returns the list of peers we are connected to
|
||||
Peers(context.Context) ([]PeerInfo, error)
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user