comment out diagnostic
it'll have to change lots since the listener is gone
Juan Batiz-Benet committed
Sep 16, 2014 at 02:04 UTC
c4536d127d33132d1311b71d6450d862891884f1
1 file changed
+44
-40
routing/dht/dht.go
+44
-40
@@ -1,7 +1,6 @@
1
package dht
2
3
import (
4
- "bytes"
4
"crypto/rand"
5
"errors"
6
"fmt"
@@ -341,62 +340,67 @@ type providerInfo struct {
340
341
func (dht *IpfsDHT) handleAddProvider(p *peer.Peer, pmes *Message) {
342
key := u.Key(pmes.GetKey())
344
- u.DOut("[%s] Adding [%s] as a provider for '%s'\n", dht.self.ID.Pretty(), p.ID.Pretty(), peer.ID(key).Pretty())
343
+ u.DOut("[%s] Adding [%s] as a provider for '%s'\n",
344
+ dht.self.ID.Pretty(), p.ID.Pretty(), peer.ID(key).Pretty())
345
dht.providers.AddProvider(key, p)
346
}
347
348
// Halt stops all communications from this peer and shut down
349
+// TODO -- remove this in favor of context
350
func (dht *IpfsDHT) Halt() {
351
dht.shutdown <- struct{}{}
352
dht.network.Close()
353
dht.providers.Halt()
353
- dht.listener.Halt()
354
}
355
356
// NOTE: not yet finished, low priority
357
-func (dht *IpfsDHT) handleDiagnostic(p *peer.Peer, pmes *Message) {
357
+func (dht *IpfsDHT) handleDiagnostic(p *peer.Peer, pmes *Message) (*Message, error) {
358
seq := dht.routingTables[0].NearestPeers(kb.ConvertPeerID(dht.self.ID), 10)
359
- listenChan := dht.listener.Listen(pmes.GetId(), len(seq), time.Second*30)
359
360
for _, ps := range seq {
362
- mes := swarm.NewMessage(ps, pmes)
363
- dht.netChan.Outgoing <- mes
364
- }
365
-
366
- buf := new(bytes.Buffer)
367
- di := dht.getDiagInfo()
368
- buf.Write(di.Marshal())
369
-
370
- // NOTE: this shouldnt be a hardcoded value
371
- after := time.After(time.Second * 20)
372
- count := len(seq)
373
- for count > 0 {
374
- select {
375
- case <-after:
376
- //Timeout, return what we have
377
- goto out
378
- case reqResp := <-listenChan:
379
- pmesOut := new(Message)
380
- err := proto.Unmarshal(reqResp.Data, pmesOut)
381
- if err != nil {
382
- // It broke? eh, whatever, keep going
383
- continue
384
- }
385
- buf.Write(reqResp.Data)
386
- count--
361
+ mes, err := msg.FromObject(ps, pmes)
362
+ if err != nil {
363
+ u.PErr("handleDiagnostics error creating message: %v\n", err)
364
+ continue
365
}
366
+ // dht.sender.SendRequest(context.TODO(), mes)
367
}
368
+ return nil, errors.New("not yet ported back")
369
390
-out:
391
- resp := Message{
392
- Type: Message_DIAGNOSTIC,
393
- ID: pmes.GetId(),
394
- Value: buf.Bytes(),
395
- Response: true,
396
- }
397
-
398
- mes := swarm.NewMessage(p, resp.ToProtobuf())
399
- dht.netChan.Outgoing <- mes
370
+ // buf := new(bytes.Buffer)
371
+ // di := dht.getDiagInfo()
372
+ // buf.Write(di.Marshal())
373
+ //
374
+ // // NOTE: this shouldnt be a hardcoded value
375
+ // after := time.After(time.Second * 20)
376
+ // count := len(seq)
377
+ // for count > 0 {
378
+ // select {
379
+ // case <-after:
380
+ // //Timeout, return what we have
381
+ // goto out
382
+ // case reqResp := <-listenChan:
383
+ // pmesOut := new(Message)
384
+ // err := proto.Unmarshal(reqResp.Data, pmesOut)
385
+ // if err != nil {
386
+ // // It broke? eh, whatever, keep going
387
+ // continue
388
+ // }
389
+ // buf.Write(reqResp.Data)
390
+ // count--
391
+ // }
392
+ // }
393
+ //
394
+ // out:
395
+ // resp := Message{
396
+ // Type: Message_DIAGNOSTIC,
397
+ // ID: pmes.GetId(),
398
+ // Value: buf.Bytes(),
399
+ // Response: true,
400
+ // }
401
+ //
402
+ // mes := swarm.NewMessage(p, resp.ToProtobuf())
403
+ // dht.netChan.Outgoing <- mes
404
}
405
406
func (dht *IpfsDHT) getValueOrPeers(p *peer.Peer, key u.Key, timeout time.Duration, level int) ([]byte, []*peer.Peer, error) {