Documentation
¶
Index ¶
- Constants
- func Schedule(t time.Time) p2p_discovery.Option
- type Driver
- func ComposeDriver(advertiser p2p_discovery.Advertiser, discover p2p_discovery.Discoverer, ...) Driver
- func NewDHTDriver(cr p2p_routing.ContentRouting) Driver
- func NewMockedDriverClient(host p2p_host.Host, server *MockDriverServer) Driver
- func NewMultiDriver(drivers ...Driver) Driver
- func NewRendezvousDiscovery(host host.Host, rdvPeer peer.ID, rng *mrand.Rand) Driver
- type MockDriverServer
- func (s *MockDriverServer) Advertise(ns string, info p2p_peer.AddrInfo, ttl time.Duration) (time.Duration, error)
- func (s *MockDriverServer) FindPeers(ns string, limit int) (<-chan p2p_peer.AddrInfo, error)
- func (s *MockDriverServer) HasPeerRecord(ns string, pid p2p_peer.ID) bool
- func (s *MockDriverServer) Reset()
- func (s *MockDriverServer) Unregister(ns string, pid p2p_peer.ID)
- type MultiDriver
- func (md *MultiDriver) Advertise(ctx context.Context, ns string, opts ...p2p_discovery.Option) (time.Duration, error)
- func (md *MultiDriver) FindPeers(ctx context.Context, ns string, opts ...p2p_discovery.Option) (<-chan p2p_peer.AddrInfo, error)
- func (md *MultiDriver) Unregister(ctx context.Context, ns string) error
- type Service
- type Unregisterer
Constants ¶
View Source
const ScheduleKey = "Schedule"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Driver ¶
type Driver interface { p2p_discovery.Discovery Unregisterer }
Driver is a Discovery with a unregister method
func ComposeDriver ¶
func ComposeDriver(advertiser p2p_discovery.Advertiser, discover p2p_discovery.Discoverer, unregister Unregisterer) Driver
func NewDHTDriver ¶
func NewDHTDriver(cr p2p_routing.ContentRouting) Driver
func NewMockedDriverClient ¶
func NewMockedDriverClient(host p2p_host.Host, server *MockDriverServer) Driver
func NewMultiDriver ¶
type MockDriverServer ¶
type MockDriverServer struct {
// contains filtered or unexported fields
}
func NewMockedDriverServer ¶
func NewMockedDriverServer() *MockDriverServer
func (*MockDriverServer) HasPeerRecord ¶
func (s *MockDriverServer) HasPeerRecord(ns string, pid p2p_peer.ID) bool
func (*MockDriverServer) Reset ¶
func (s *MockDriverServer) Reset()
func (*MockDriverServer) Unregister ¶
func (s *MockDriverServer) Unregister(ns string, pid p2p_peer.ID)
type MultiDriver ¶
type MultiDriver struct {
// contains filtered or unexported fields
}
MultiDriver is a simple driver manager, that forward request across multiple driver
func (*MultiDriver) Advertise ¶
func (md *MultiDriver) Advertise(ctx context.Context, ns string, opts ...p2p_discovery.Option) (time.Duration, error)
Advertise simply dispatch Advertise request across all the drivers
func (*MultiDriver) FindPeers ¶
func (md *MultiDriver) FindPeers(ctx context.Context, ns string, opts ...p2p_discovery.Option) (<-chan p2p_peer.AddrInfo, error)
FindPeers for MultiDriver doesn't care about duplicate peers, his only job here is to dispatch FindPeers request across all the drivers.
func (*MultiDriver) Unregister ¶
func (md *MultiDriver) Unregister(ctx context.Context, ns string) error
type Service ¶
type Service interface { Driver }
Tinder service is a simple driver backed by a cache,
func NewService ¶
func NewService(drivers []Driver, stratFactory p2p_discovery.BackoffFactory, opts ...p2p_discovery.BackoffDiscoveryOption) (Service, error)
type Unregisterer ¶
var NoopUnregisterer Unregisterer = &noopUnregisterer{}
Click to show internal directories.
Click to hide internal directories.