// NewDiagnostics instantiates a new diagnostics service running on the given network func NewDiagnostics(self peer.ID, h host.Host) *Diagnostics { d := &Diagnostics{ host: h, self: self, birth: time.Now(), diagMap: make(map[string]time.Time), } h.SetStreamHandler(ProtocolDiag, d.handleNewStream) h.SetStreamHandler(ProtocolDiagOld, d.handleNewStream) return d }
// NewFromIpfsHost returns a BitSwapNetwork supported by underlying IPFS host func NewFromIpfsHost(host host.Host, r routing.ContentRouting) BitSwapNetwork { bitswapNetwork := impl{ host: host, routing: r, } host.SetStreamHandler(ProtocolBitswap, bitswapNetwork.handleNewStream) host.SetStreamHandler(ProtocolBitswapOne, bitswapNetwork.handleNewStream) host.SetStreamHandler(ProtocolBitswapNoVers, bitswapNetwork.handleNewStream) host.Network().Notify((*netNotifiee)(&bitswapNetwork)) // TODO: StopNotify. return &bitswapNetwork }