lnd.xprv/routing
Olaoluwa Osuntokun a4ba72c08c
routing: close exit chan before ntfnChan to cancel topology clients
This commit fixes a panic due to a send on a closed channel that could
possibly occur depending on the order of channel closes when a client
goes to cancel a topology notification client.

Previously we closed the ntfnChan first, this would possible result in
a panic as the goroutine may have succeeded on a send at the same time
the channel was closed. Instead, we now close the `exit` channel first
which is meant to be a signal to the goroutine that the client has been
canceled.
2017-05-15 18:47:26 -07:00
..
chainview routing/chainview: linter fixes 2017-05-11 15:36:47 -07:00
testdata routing: add proper test for excessive number of hops 2017-02-02 00:24:16 -08:00
errors.go routing: reject channel announcement if connected vertexes are unknown 2017-05-14 19:27:24 -07:00
graph.go routing: rewrite package to conform to BOLT07 and factor in fees+timelocks 2016-12-27 16:44:22 -08:00
heap_test.go routing: introduce a heap to keep track of closest nodes during pathfinding 2017-03-21 12:20:18 -07:00
heap.go routing: introduce new heap for storing candidate shortest paths 2017-03-21 12:20:30 -07:00
log.go routing: abandon ChainNotifier for FilteredChainView 2017-05-11 15:20:48 -07:00
notifications_test.go routing: reject channel announcement if connected vertexes are unknown 2017-05-14 19:27:24 -07:00
notifications.go discovery+routing: split 'routing' package on 'routing' and 'discovery' 2017-03-29 19:49:05 -07:00
pathfind_test.go channeldb: add storing of node signature and add edge signature 2017-03-29 19:49:05 -07:00
pathfind.go routing: add TODO in newRoute for more sanity checks 2017-04-16 15:24:17 -07:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
router_test.go routing: fix linter error 2017-05-15 18:21:13 -07:00
router.go routing: close exit chan before ntfnChan to cancel topology clients 2017-05-15 18:47:26 -07:00

routing

Build Status MIT licensed GoDoc

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