lnd/routing
Olaoluwa Osuntokun 8ed79ae497
routing: fix bug when sending topology ntfns to multiple clients
This commit fixes a bug which was originally introduced when the
topology notifications were added to the channel router. The issue was
that a pointer to the loop-scope range variable was being passed into
the goroutine which dispatches the notification rather than the value
itself. It seems that the memory location is re-used between range
iterations causing the same client to receive _all_ the notifications.

This bug is fixed by passing a copy of the client struct rather than a
pointer to the range variable.

In the process, we also add some additional debug logging messages, and
remove the Curve parameter from any public keys involved in a
notification so the pretty print properly.
2017-03-14 20:07:55 -07:00
..
testdata routing: add proper test for excessive number of hops 2017-02-02 00:24:16 -08:00
README.md multi: add link to LICENSE in README license badges (#100) 2017-01-12 16:31:08 -08:00
errors.go routing: rewrite package to conform to BOLT07 and factor in fees+timelocks 2016-12-27 16:44:22 -08:00
fibonacci.go lnwallet/btcwallet: add compile-time interface assertions for Signer+BlockChainIO 2016-12-27 16:43:31 -08:00
graph.go routing: rewrite package to conform to BOLT07 and factor in fees+timelocks 2016-12-27 16:44:22 -08:00
log.go routing: rewrite package to conform to BOLT07 and factor in fees+timelocks 2016-12-27 16:44:22 -08:00
notifications.go routing: fix bug when sending topology ntfns to multiple clients 2017-03-14 20:07:55 -07:00
notifications_test.go routing: include the channel point of chan within edge update ntfn 2017-03-14 20:07:33 -07:00
pathfind.go routing: modify path finding routines use new EdgeInfo/EdgePolicy 2017-03-08 14:25:05 -08:00
pathfind_test.go lnd: fix latest goclean.sh lint warning 2017-03-13 16:30:23 -07:00
router.go lnd: partially fix golint warnings 2017-03-13 16:30:23 -07:00

README.md

routing

[Build Status] (https://travis-ci.org/lightningnetwork/lnd) [MIT licensed] (https://github.com/lightningnetwork/lnd/blob/master/LICENSE) [GoDoc] (http://godoc.org/github.com/lightningnetwork/lnd/routing)

The routing package implements authentication+validation of channel announcements, pruning of the channel graph, path finding within the network, sending outgoing payments into the network and synchronizing new peers to our channel graph state.

Installation and Updating

$ go get -u github.com/lightningnetwork/lnd/routing