diff --git a/mock/interface.go b/mock/interface.go index 6306ff0606dfccccd1b2c29617eea2aad7967d62..6f906935e37187412878ffeb5435be395fee3ad3 100644 --- a/mock/interface.go +++ b/mock/interface.go @@ -1,17 +1,17 @@ -// Package mock provides a virtual routing server. To use it, create a virtual -// routing server and use the Client() method to get a routing client -// (IpfsRouting). The server quacks like a DHT but is really a local in-memory -// hash table. +// Package mockrouting provides a virtual routing server. To use it, +// create a virtual routing server and use the Client() method to get a +// routing client (IpfsRouting). The server quacks like a DHT but is +// really a local in-memory hash table. package mockrouting import ( "context" delay "github.com/ipfs/go-ipfs/thirdparty/delay" - "gx/ipfs/QmVvkK7s5imCiq3JVbL3pGfnhcCnf3LrFJPF4GE2sAoGZf/go-testutil" ds "gx/ipfs/QmPpegoMqhAEqjncrzArm7KVWAkCm78rqL2DPuNjhPrshg/go-datastore" routing "gx/ipfs/QmTiWLZ6Fo5j4KcTVutZJ5KWRRJrbxzmxA4td8NfEdrPh7/go-libp2p-routing" + "gx/ipfs/QmVvkK7s5imCiq3JVbL3pGfnhcCnf3LrFJPF4GE2sAoGZf/go-testutil" peer "gx/ipfs/QmZoWKhxUmZ2seW4BzX6fJkNR8hh9PsGModr7q171yq2SS/go-libp2p-peer" ) @@ -42,6 +42,8 @@ func NewServerWithDelay(conf DelayConfig) Server { } } +// DelayConfig can be used to configured the fake delays of a mock server. +// Use with NewServerWithDelay(). type DelayConfig struct { // ValueVisibility is the time it takes for a value to be visible in the network // FIXME there _must_ be a better term for this diff --git a/none/none_client.go b/none/none_client.go index c38443362509aca45a00c44c98fa59638fcc519d..aee2b281bc3f20cc58e01793b302adc2cd97519f 100644 --- a/none/none_client.go +++ b/none/none_client.go @@ -1,3 +1,4 @@ +// Package nilrouting implements a routing client that does nothing. package nilrouting import ( @@ -21,11 +22,11 @@ func (c *nilclient) PutValue(_ context.Context, _ string, _ []byte) error { } func (c *nilclient) GetValue(_ context.Context, _ string) ([]byte, error) { - return nil, errors.New("Tried GetValue from nil routing.") + return nil, errors.New("tried GetValue from nil routing") } func (c *nilclient) GetValues(_ context.Context, _ string, _ int) ([]routing.RecvdVal, error) { - return nil, errors.New("Tried GetValues from nil routing.") + return nil, errors.New("tried GetValues from nil routing") } func (c *nilclient) FindPeer(_ context.Context, _ peer.ID) (pstore.PeerInfo, error) { @@ -46,6 +47,7 @@ func (c *nilclient) Bootstrap(_ context.Context) error { return nil } +// ConstructNilRouting creates an IpfsRouting client which does nothing. func ConstructNilRouting(_ context.Context, _ p2phost.Host, _ repo.Datastore) (routing.IpfsRouting, error) { return &nilclient{}, nil } diff --git a/offline/offline.go b/offline/offline.go index 443d4a9ece80e67b6956df4323a5eab96c340900..84b52950fc75832e921f557fd931b959c62bc870 100644 --- a/offline/offline.go +++ b/offline/offline.go @@ -1,3 +1,5 @@ +// Package offline implements IpfsRouting with a client which +// is only able to perform offline operations. package offline import ( @@ -18,8 +20,13 @@ import ( cid "gx/ipfs/QmcZfnkapfECQGcLZaf9B79NRg7cRa9EnZh4LSbkCzwNvY/go-cid" ) +// ErrOffline is returned when trying to perform operations that +// require connectivity. var ErrOffline = errors.New("routing system in offline mode") +// NewOfflineRouter returns an IpfsRouting implementation which only performs +// offline operations. It allows to Put and Get signed dht +// records to and from the local datastore. func NewOfflineRouter(dstore ds.Datastore, privkey ci.PrivKey) routing.IpfsRouting { return &offlineRouting{ datastore: dstore,