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
4bd7c545
Commit
4bd7c545
authored
May 16, 2017
by
Jeromy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update to dht code with provide announce option
License: MIT Signed-off-by:
Jeromy
<
jeromyj@gmail.com
>
parent
6f691a3b
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
29 additions
and
20 deletions
+29
-20
mock/centralized_client.go
mock/centralized_client.go
+5
-2
mock/centralized_test.go
mock/centralized_test.go
+4
-4
mock/dht.go
mock/dht.go
+1
-1
mock/interface.go
mock/interface.go
+1
-1
none/none_client.go
none/none_client.go
+2
-2
offline/offline.go
offline/offline.go
+2
-2
offline/offline_test.go
offline/offline_test.go
+1
-1
supernode/client.go
supernode/client.go
+9
-3
supernode/proxy/loopback.go
supernode/proxy/loopback.go
+1
-1
supernode/proxy/standard.go
supernode/proxy/standard.go
+1
-1
supernode/server.go
supernode/server.go
+1
-1
supernode/server_test.go
supernode/server_test.go
+1
-1
No files found.
mock/centralized_client.go
View file @
4bd7c545
...
...
@@ -13,9 +13,9 @@ import (
logging
"gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
dhtpb
"gx/ipfs/QmWYCqr6UDqqD1bfRybaAPtbAqcN3TSJpveaBXMwbQ3ePZ/go-libp2p-record/pb"
u
"gx/ipfs/QmWbjfz3u6HkAdPh34dgPchGbQjob6LXLhAeCGii2TX69n/go-ipfs-util"
routing
"gx/ipfs/QmXiH3yLocPhjkAmL8R29fKRcEKoVXKCaVDbAS9tdTrVEd/go-libp2p-routing"
cid
"gx/ipfs/QmYhQaCYEcaPPjxJX7YcPcVKkQfRy6sJ7B3XmGFk82XYdQ/go-cid"
proto
"gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
routing
"gx/ipfs/QmafuecpeZp3k3sHJ5mUARHd4795revuadECQMkmHB8LfW/go-libp2p-routing"
ma
"gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr"
peer
"gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer"
)
...
...
@@ -104,7 +104,10 @@ func (c *client) FindProvidersAsync(ctx context.Context, k *cid.Cid, max int) <-
// Provide returns once the message is on the network. Value is not necessarily
// visible yet.
func
(
c
*
client
)
Provide
(
_
context
.
Context
,
key
*
cid
.
Cid
)
error
{
func
(
c
*
client
)
Provide
(
_
context
.
Context
,
key
*
cid
.
Cid
,
brd
bool
)
error
{
if
!
brd
{
return
nil
}
info
:=
pstore
.
PeerInfo
{
ID
:
c
.
peer
.
ID
(),
Addrs
:
[]
ma
.
Multiaddr
{
c
.
peer
.
Address
()},
...
...
mock/centralized_test.go
View file @
4bd7c545
...
...
@@ -33,7 +33,7 @@ func TestClientFindProviders(t *testing.T) {
client
:=
rs
.
Client
(
pi
)
k
:=
cid
.
NewCidV0
(
u
.
Hash
([]
byte
(
"hello"
)))
err
:=
client
.
Provide
(
context
.
Background
(),
k
)
err
:=
client
.
Provide
(
context
.
Background
(),
k
,
true
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
...
...
@@ -60,7 +60,7 @@ func TestClientOverMax(t *testing.T) {
numProvidersForHelloKey
:=
100
for
i
:=
0
;
i
<
numProvidersForHelloKey
;
i
++
{
pi
:=
testutil
.
RandIdentityOrFatal
(
t
)
err
:=
rs
.
Client
(
pi
)
.
Provide
(
context
.
Background
(),
k
)
err
:=
rs
.
Client
(
pi
)
.
Provide
(
context
.
Background
(),
k
,
true
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
...
...
@@ -106,7 +106,7 @@ func TestCanceledContext(t *testing.T) {
if
err
!=
nil
{
t
.
Error
(
err
)
}
err
=
rs
.
Client
(
pi
)
.
Provide
(
context
.
Background
(),
k
)
err
=
rs
.
Client
(
pi
)
.
Provide
(
context
.
Background
(),
k
,
true
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
...
...
@@ -151,7 +151,7 @@ func TestValidAfter(t *testing.T) {
rs
:=
NewServerWithDelay
(
conf
)
rs
.
Client
(
pi
)
.
Provide
(
ctx
,
key
)
rs
.
Client
(
pi
)
.
Provide
(
ctx
,
key
,
true
)
var
providers
[]
pstore
.
PeerInfo
max
:=
100
...
...
mock/dht.go
View file @
4bd7c545
...
...
@@ -3,10 +3,10 @@ package mockrouting
import
(
context
"context"
"github.com/ipfs/go-ipfs/thirdparty/testutil"
dht
"gx/ipfs/QmQcRLisUbREko56ThfgzdBorMGNfNjgqzvwuPPr1jFw6A/go-libp2p-kad-dht"
ds
"gx/ipfs/QmRWDav6mzWseLWeYfVd5fvUKiVe9xNH29YfMF438fG364/go-datastore"
sync
"gx/ipfs/QmRWDav6mzWseLWeYfVd5fvUKiVe9xNH29YfMF438fG364/go-datastore/sync"
mocknet
"gx/ipfs/QmRai5yZNL67pWCoznW7sBdFnqZrFULuJ5w8KhmRyhdgN4/go-libp2p/p2p/net/mock"
dht
"gx/ipfs/QmUJKdWyaf2dpuACw7ctu3KNciyzR7S69yGFr2BP6vYUB8/go-libp2p-kad-dht"
)
type
mocknetserver
struct
{
...
...
mock/interface.go
View file @
4bd7c545
...
...
@@ -11,7 +11,7 @@ import (
"github.com/ipfs/go-ipfs/thirdparty/testutil"
ds
"gx/ipfs/QmRWDav6mzWseLWeYfVd5fvUKiVe9xNH29YfMF438fG364/go-datastore"
routing
"gx/ipfs/Qm
afuecpeZp3k3sHJ5mUARHd4795revuadECQMkmHB8LfW
/go-libp2p-routing"
routing
"gx/ipfs/Qm
XiH3yLocPhjkAmL8R29fKRcEKoVXKCaVDbAS9tdTrVEd
/go-libp2p-routing"
peer
"gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer"
)
...
...
none/none_client.go
View file @
4bd7c545
...
...
@@ -8,8 +8,8 @@ import (
pstore
"gx/ipfs/QmNUVzEjq3XWJ89hegahPvyfJbTXgTaom48pLb7YBD9gHQ/go-libp2p-peerstore"
logging
"gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
routing
"gx/ipfs/QmXiH3yLocPhjkAmL8R29fKRcEKoVXKCaVDbAS9tdTrVEd/go-libp2p-routing"
cid
"gx/ipfs/QmYhQaCYEcaPPjxJX7YcPcVKkQfRy6sJ7B3XmGFk82XYdQ/go-cid"
routing
"gx/ipfs/QmafuecpeZp3k3sHJ5mUARHd4795revuadECQMkmHB8LfW/go-libp2p-routing"
p2phost
"gx/ipfs/QmcyNeWPsoFGxThGpV8JnJdfUNankKhWCTrbrcFRQda4xR/go-libp2p-host"
peer
"gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer"
)
...
...
@@ -41,7 +41,7 @@ func (c *nilclient) FindProvidersAsync(_ context.Context, _ *cid.Cid, _ int) <-c
return
out
}
func
(
c
*
nilclient
)
Provide
(
_
context
.
Context
,
_
*
cid
.
Cid
)
error
{
func
(
c
*
nilclient
)
Provide
(
_
context
.
Context
,
_
*
cid
.
Cid
,
_
bool
)
error
{
return
nil
}
...
...
offline/offline.go
View file @
4bd7c545
...
...
@@ -13,9 +13,9 @@ import (
logging
"gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
record
"gx/ipfs/QmWYCqr6UDqqD1bfRybaAPtbAqcN3TSJpveaBXMwbQ3ePZ/go-libp2p-record"
pb
"gx/ipfs/QmWYCqr6UDqqD1bfRybaAPtbAqcN3TSJpveaBXMwbQ3ePZ/go-libp2p-record/pb"
routing
"gx/ipfs/QmXiH3yLocPhjkAmL8R29fKRcEKoVXKCaVDbAS9tdTrVEd/go-libp2p-routing"
cid
"gx/ipfs/QmYhQaCYEcaPPjxJX7YcPcVKkQfRy6sJ7B3XmGFk82XYdQ/go-cid"
proto
"gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
routing
"gx/ipfs/QmafuecpeZp3k3sHJ5mUARHd4795revuadECQMkmHB8LfW/go-libp2p-routing"
"gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer"
)
...
...
@@ -101,7 +101,7 @@ func (c *offlineRouting) FindProvidersAsync(ctx context.Context, k *cid.Cid, max
return
out
}
func
(
c
*
offlineRouting
)
Provide
(
_
context
.
Context
,
k
*
cid
.
Cid
)
error
{
func
(
c
*
offlineRouting
)
Provide
(
_
context
.
Context
,
k
*
cid
.
Cid
,
_
bool
)
error
{
return
ErrOffline
}
...
...
offline/offline_test.go
View file @
4bd7c545
...
...
@@ -67,7 +67,7 @@ func TestOfflineRouterLocal(t *testing.T) {
}
cid
,
_
=
testutil
.
RandCidV0
()
err
=
offline
.
Provide
(
ctx
,
cid
)
err
=
offline
.
Provide
(
ctx
,
cid
,
true
)
if
err
!=
ErrOffline
{
t
.
Fatal
(
"OfflineRouting should alert that its offline"
)
}
...
...
supernode/client.go
View file @
4bd7c545
...
...
@@ -9,13 +9,13 @@ import (
proxy
"github.com/ipfs/go-ipfs/routing/supernode/proxy"
pstore
"gx/ipfs/QmNUVzEjq3XWJ89hegahPvyfJbTXgTaom48pLb7YBD9gHQ/go-libp2p-peerstore"
dhtpb
"gx/ipfs/QmQcRLisUbREko56ThfgzdBorMGNfNjgqzvwuPPr1jFw6A/go-libp2p-kad-dht/pb"
logging
"gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
dhtpb
"gx/ipfs/QmUJKdWyaf2dpuACw7ctu3KNciyzR7S69yGFr2BP6vYUB8/go-libp2p-kad-dht/pb"
loggables
"gx/ipfs/QmVesPmqbPp7xRGyY96tnBwzDtVV1nqv4SCVxo5zCqKyH8/go-libp2p-loggables"
pb
"gx/ipfs/QmWYCqr6UDqqD1bfRybaAPtbAqcN3TSJpveaBXMwbQ3ePZ/go-libp2p-record/pb"
routing
"gx/ipfs/QmXiH3yLocPhjkAmL8R29fKRcEKoVXKCaVDbAS9tdTrVEd/go-libp2p-routing"
cid
"gx/ipfs/QmYhQaCYEcaPPjxJX7YcPcVKkQfRy6sJ7B3XmGFk82XYdQ/go-cid"
proto
"gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
routing
"gx/ipfs/QmafuecpeZp3k3sHJ5mUARHd4795revuadECQMkmHB8LfW/go-libp2p-routing"
"gx/ipfs/QmcyNeWPsoFGxThGpV8JnJdfUNankKhWCTrbrcFRQda4xR/go-libp2p-host"
peer
"gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer"
)
...
...
@@ -100,7 +100,13 @@ func (c *Client) GetValues(ctx context.Context, k string, _ int) ([]routing.Recv
},
nil
}
func
(
c
*
Client
)
Provide
(
ctx
context
.
Context
,
k
*
cid
.
Cid
)
error
{
// Provide adds the given key 'k' to the content routing system. If 'brd' is
// true, it announces that content to the network. For the supernode client,
// setting 'brd' to false makes this call a no-op
func
(
c
*
Client
)
Provide
(
ctx
context
.
Context
,
k
*
cid
.
Cid
,
brd
bool
)
error
{
if
!
brd
{
return
nil
}
defer
log
.
EventBegin
(
ctx
,
"provide"
,
k
)
.
Done
()
msg
:=
dhtpb
.
NewMessage
(
dhtpb
.
Message_ADD_PROVIDER
,
k
.
KeyString
(),
0
)
// FIXME how is connectedness defined for the local node
...
...
supernode/proxy/loopback.go
View file @
4bd7c545
...
...
@@ -2,7 +2,7 @@ package proxy
import
(
context
"context"
dhtpb
"gx/ipfs/Qm
QcRLisUbREko56ThfgzdBorMGNfNjgqzvwuPPr1jFw6A
/go-libp2p-kad-dht/pb"
dhtpb
"gx/ipfs/Qm
UJKdWyaf2dpuACw7ctu3KNciyzR7S69yGFr2BP6vYUB8
/go-libp2p-kad-dht/pb"
inet
"gx/ipfs/QmVHSBsn8LEeay8m5ERebgUVuhzw838PsyTttCmP6GMJkg/go-libp2p-net"
ggio
"gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/io"
peer
"gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer"
...
...
supernode/proxy/standard.go
View file @
4bd7c545
...
...
@@ -5,8 +5,8 @@ import (
"errors"
pstore
"gx/ipfs/QmNUVzEjq3XWJ89hegahPvyfJbTXgTaom48pLb7YBD9gHQ/go-libp2p-peerstore"
dhtpb
"gx/ipfs/QmQcRLisUbREko56ThfgzdBorMGNfNjgqzvwuPPr1jFw6A/go-libp2p-kad-dht/pb"
logging
"gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
dhtpb
"gx/ipfs/QmUJKdWyaf2dpuACw7ctu3KNciyzR7S69yGFr2BP6vYUB8/go-libp2p-kad-dht/pb"
inet
"gx/ipfs/QmVHSBsn8LEeay8m5ERebgUVuhzw838PsyTttCmP6GMJkg/go-libp2p-net"
loggables
"gx/ipfs/QmVesPmqbPp7xRGyY96tnBwzDtVV1nqv4SCVxo5zCqKyH8/go-libp2p-loggables"
kbucket
"gx/ipfs/QmXKSwZVoHCTne4jTLzDtMc2K6paEZ2QaUMQfJ4ogYd28n/go-libp2p-kbucket"
...
...
supernode/server.go
View file @
4bd7c545
...
...
@@ -9,8 +9,8 @@ import (
dshelp
"github.com/ipfs/go-ipfs/thirdparty/ds-help"
pstore
"gx/ipfs/QmNUVzEjq3XWJ89hegahPvyfJbTXgTaom48pLb7YBD9gHQ/go-libp2p-peerstore"
dhtpb
"gx/ipfs/QmQcRLisUbREko56ThfgzdBorMGNfNjgqzvwuPPr1jFw6A/go-libp2p-kad-dht/pb"
datastore
"gx/ipfs/QmRWDav6mzWseLWeYfVd5fvUKiVe9xNH29YfMF438fG364/go-datastore"
dhtpb
"gx/ipfs/QmUJKdWyaf2dpuACw7ctu3KNciyzR7S69yGFr2BP6vYUB8/go-libp2p-kad-dht/pb"
record
"gx/ipfs/QmWYCqr6UDqqD1bfRybaAPtbAqcN3TSJpveaBXMwbQ3ePZ/go-libp2p-record"
pb
"gx/ipfs/QmWYCqr6UDqqD1bfRybaAPtbAqcN3TSJpveaBXMwbQ3ePZ/go-libp2p-record/pb"
proto
"gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
...
...
supernode/server_test.go
View file @
4bd7c545
...
...
@@ -3,8 +3,8 @@ package supernode
import
(
"testing"
dhtpb
"gx/ipfs/QmQcRLisUbREko56ThfgzdBorMGNfNjgqzvwuPPr1jFw6A/go-libp2p-kad-dht/pb"
datastore
"gx/ipfs/QmRWDav6mzWseLWeYfVd5fvUKiVe9xNH29YfMF438fG364/go-datastore"
dhtpb
"gx/ipfs/QmUJKdWyaf2dpuACw7ctu3KNciyzR7S69yGFr2BP6vYUB8/go-libp2p-kad-dht/pb"
)
func
TestPutProviderDoesntResultInDuplicates
(
t
*
testing
.
T
)
{
...
...
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