Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-dms3-routing
Commits
09a3b4b2
Commit
09a3b4b2
authored
Jul 22, 2014
by
Juan Batiz-Benet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
routing interface
parent
dbe541a9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
1 deletion
+33
-1
routing.go
routing.go
+33
-1
No files found.
routing.go
View file @
09a3b4b2
package
routing
import
(
"time"
peer
"github.com/jbenet/go-ipfs/peer"
u
"github.com/jbenet/go-ipfs/util"
)
// TODO SEE https://github.com/jbenet/node-ipfs/blob/master/submodules/ipfs-routing/index.js
// IpfsRouting is the routing module interface
// It is implemented by things like DHTs, etc.
type
IpfsRouting
interface
{
// Basic Put/Get
// PutValue adds value corresponding to given Key.
PutValue
(
key
u
.
Key
,
value
[]
byte
)
(
error
)
// GetValue searches for the value corresponding to given Key.
GetValue
(
key
u
.
Key
,
timeout
time
.
Duration
)
([]
byte
,
error
)
// Value provider layer of indirection.
// This is what DSHTs (Coral and MainlineDHT) do to store large values in a DHT.
// Announce that this node can provide value for given key
Provide
(
key
u
.
Key
)
(
error
)
// FindProviders searches for peers who can provide the value for given key.
FindProviders
(
key
u
.
Key
,
timeout
time
.
Duration
)
(
*
peer
.
Peer
,
error
)
// Find specific Peer
// FindPeer searches for a peer with given ID.
FindPeer
(
id
peer
.
ID
,
timeout
time
.
Duration
)
(
*
peer
.
Peer
,
error
)
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment