routing

package
v0.3.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2015 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

package routing defines the interface for a routing system used by ipfs.

Index

Constants

This section is empty.

Variables

View Source
var ErrNotFound = errors.New("routing: not found")

ErrNotFound is returned when a search fails to find anything

Functions

func GetPublicKey added in v0.3.2

func GetPublicKey(r IpfsRouting, ctx context.Context, pkhash []byte) (ci.PubKey, error)

func KeyForPublicKey added in v0.3.2

func KeyForPublicKey(id peer.ID) key.Key

KeyForPublicKey returns the key used to retrieve public keys from the dht.

Types

type IpfsRouting

type IpfsRouting interface {
	FindProvidersAsync(context.Context, key.Key, int) <-chan peer.PeerInfo

	// PutValue adds value corresponding to given Key.
	PutValue(context.Context, key.Key, []byte) error

	// GetValue searches for the value corresponding to given Key.
	GetValue(context.Context, key.Key) ([]byte, error)

	// Announce that this node can provide value for given key
	Provide(context.Context, key.Key) error

	// Find specific Peer
	// FindPeer searches for a peer with given ID, returns a peer.PeerInfo
	// with relevant addresses.
	FindPeer(context.Context, peer.ID) (peer.PeerInfo, error)

	// Bootstrap allows callers to hint to the routing system to get into a
	// Boostrapped state
	Bootstrap(context.Context) error
}

IpfsRouting is the routing module interface It is implemented by things like DHTs, etc.

type PubKeyFetcher added in v0.3.2

type PubKeyFetcher interface {
	GetPublicKey(context.Context, peer.ID) (ci.PubKey, error)
}

Directories

Path Synopsis
dht
Package dht implements a distributed hash table that satisfies the ipfs routing interface.
Package dht implements a distributed hash table that satisfies the ipfs routing interface.
pb
Package dht_pb is a generated protocol buffer package.
Package dht_pb is a generated protocol buffer package.
package kbucket implements a kademlia 'k-bucket' routing table.
package kbucket implements a kademlia 'k-bucket' routing table.
Package mock provides a virtual routing server.
Package mock provides a virtual routing server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL