mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-24 20:07:45 +08:00
feat(gcr/c) randomize order of remotes
This commit is contained in:
parent
46bbd11e6b
commit
ea9ea79459
@ -1,6 +1,8 @@
|
||||
package proxy
|
||||
|
||||
import (
|
||||
"math/rand"
|
||||
|
||||
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
|
||||
ggio "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/gogoprotobuf/io"
|
||||
host "github.com/jbenet/go-ipfs/p2p/host"
|
||||
@ -36,7 +38,8 @@ func (p *standard) HandleStream(s inet.Stream) {
|
||||
|
||||
func (px *standard) SendMessage(ctx context.Context, m *dhtpb.Message) error {
|
||||
var err error
|
||||
for _, remote := range px.Remotes {
|
||||
for _, i := range rand.Perm(len(px.Remotes)) {
|
||||
remote := px.Remotes[i]
|
||||
if err = px.sendMessage(ctx, m, remote); err != nil { // careful don't re-declare err!
|
||||
continue
|
||||
}
|
||||
@ -63,7 +66,8 @@ func (px *standard) sendMessage(ctx context.Context, m *dhtpb.Message, remote pe
|
||||
|
||||
func (px *standard) SendRequest(ctx context.Context, m *dhtpb.Message) (*dhtpb.Message, error) {
|
||||
var err error
|
||||
for _, remote := range px.Remotes {
|
||||
for _, i := range rand.Perm(len(px.Remotes)) {
|
||||
remote := px.Remotes[i]
|
||||
var reply *dhtpb.Message
|
||||
reply, err = px.sendRequest(ctx, m, remote) // careful don't redeclare err!
|
||||
if err != nil {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user