Commit 8436b8ae authored by Hector Sanjuan's avatar Hector Sanjuan

Doc: golint-ify routing module

License: MIT
Signed-off-by: default avatarHector Sanjuan <hector@protocol.ai>
parent 3f0bd8ab
// Package mock provides a virtual routing server. To use it, create a virtual // Package mockrouting provides a virtual routing server. To use it,
// routing server and use the Client() method to get a routing client // create a virtual routing server and use the Client() method to get a
// (IpfsRouting). The server quacks like a DHT but is really a local in-memory // routing client (IpfsRouting). The server quacks like a DHT but is
// hash table. // really a local in-memory hash table.
package mockrouting package mockrouting
import ( import (
"context" "context"
delay "github.com/ipfs/go-ipfs/thirdparty/delay" delay "github.com/ipfs/go-ipfs/thirdparty/delay"
"gx/ipfs/QmVvkK7s5imCiq3JVbL3pGfnhcCnf3LrFJPF4GE2sAoGZf/go-testutil"
ds "gx/ipfs/QmPpegoMqhAEqjncrzArm7KVWAkCm78rqL2DPuNjhPrshg/go-datastore" ds "gx/ipfs/QmPpegoMqhAEqjncrzArm7KVWAkCm78rqL2DPuNjhPrshg/go-datastore"
routing "gx/ipfs/QmTiWLZ6Fo5j4KcTVutZJ5KWRRJrbxzmxA4td8NfEdrPh7/go-libp2p-routing" routing "gx/ipfs/QmTiWLZ6Fo5j4KcTVutZJ5KWRRJrbxzmxA4td8NfEdrPh7/go-libp2p-routing"
"gx/ipfs/QmVvkK7s5imCiq3JVbL3pGfnhcCnf3LrFJPF4GE2sAoGZf/go-testutil"
peer "gx/ipfs/QmZoWKhxUmZ2seW4BzX6fJkNR8hh9PsGModr7q171yq2SS/go-libp2p-peer" peer "gx/ipfs/QmZoWKhxUmZ2seW4BzX6fJkNR8hh9PsGModr7q171yq2SS/go-libp2p-peer"
) )
...@@ -42,6 +42,8 @@ func NewServerWithDelay(conf DelayConfig) Server { ...@@ -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 { type DelayConfig struct {
// ValueVisibility is the time it takes for a value to be visible in the network // ValueVisibility is the time it takes for a value to be visible in the network
// FIXME there _must_ be a better term for this // FIXME there _must_ be a better term for this
......
// Package nilrouting implements a routing client that does nothing.
package nilrouting package nilrouting
import ( import (
...@@ -21,11 +22,11 @@ func (c *nilclient) PutValue(_ context.Context, _ string, _ []byte) error { ...@@ -21,11 +22,11 @@ func (c *nilclient) PutValue(_ context.Context, _ string, _ []byte) error {
} }
func (c *nilclient) GetValue(_ 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) { 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) { func (c *nilclient) FindPeer(_ context.Context, _ peer.ID) (pstore.PeerInfo, error) {
...@@ -46,6 +47,7 @@ func (c *nilclient) Bootstrap(_ context.Context) error { ...@@ -46,6 +47,7 @@ func (c *nilclient) Bootstrap(_ context.Context) error {
return nil return nil
} }
// ConstructNilRouting creates an IpfsRouting client which does nothing.
func ConstructNilRouting(_ context.Context, _ p2phost.Host, _ repo.Datastore) (routing.IpfsRouting, error) { func ConstructNilRouting(_ context.Context, _ p2phost.Host, _ repo.Datastore) (routing.IpfsRouting, error) {
return &nilclient{}, nil return &nilclient{}, nil
} }
......
// Package offline implements IpfsRouting with a client which
// is only able to perform offline operations.
package offline package offline
import ( import (
...@@ -18,8 +20,13 @@ import ( ...@@ -18,8 +20,13 @@ import (
cid "gx/ipfs/QmcZfnkapfECQGcLZaf9B79NRg7cRa9EnZh4LSbkCzwNvY/go-cid" 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") 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 { func NewOfflineRouter(dstore ds.Datastore, privkey ci.PrivKey) routing.IpfsRouting {
return &offlineRouting{ return &offlineRouting{
datastore: dstore, datastore: dstore,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment