@cryptotaxi247 / kubo / commits / c4536d127

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) {