lnd.xprv/routing
carla 9a78e9da73
routing/tests: move lock acquisition after state driving channels
In our payment lifecycle tests, we have two goroutines that
compete for the lock in our mock control tower: the resumePayment
loop which tries to call RegisterAttempt, and the collectResult
handler which is launched in a goroutine by collectResultAsync
and is responsible for various settle/fail calls.

The order that the lock is acquired by these goroutines is
arbitrary, and can lead to flakes in our tests if the step
that we do not intend to execute first gets the lock (eg,
we want to fail a payment in collectResult, but RegisterAttempt
gets there first). This commit moves contention for this lock
after our mock's various "state driving" channels, so that the
lock will be acquired in the order that the test intends it.
2021-04-23 08:39:39 +02:00
..
chainview build: update btcwallet dependency introducing pruned bitcoind support 2021-04-06 14:55:14 -07:00
localchans routing+lnrpc+lncli: allow setting min htlc policy 2019-12-11 00:17:08 +01:00
route channeldb: validate MPP options when registering attempts 2020-04-02 19:31:23 +02:00
testdata routing: fix max route length test 2019-12-20 11:00:03 +01:00
ann_validation.go routing: skip max htlc validation when capacity is 0 2019-04-18 21:57:38 -07:00
control_tower_test.go routing: return full htlc attempt from shard handler 2020-05-12 19:56:50 +02:00
control_tower.go routing: return full htlc attempt from shard handler 2020-05-12 19:56:50 +02:00
errors.go routing: remove unused code 2020-04-24 19:15:08 +02:00
graph.go multi: rename ReadTx to RTx 2020-05-26 18:20:37 -07:00
heap_test.go routing: optimize path finding structures 2019-10-24 21:38:07 -03:00
heap.go routing: limit routing info size during pathfinding 2019-12-20 11:00:05 +01:00
integrated_routing_context_test.go routing: if MaxShardAmt is set, then use that as a ceiling for our splits 2021-02-15 19:31:52 -08:00
integrated_routing_test.go routing: if MaxShardAmt is set, then use that as a ceiling for our splits 2021-02-15 19:31:52 -08:00
log.go routing: define subsystem constant 2019-12-11 00:17:04 +01:00
missioncontrol_state_test.go routing: stricter mission control state failure updates 2020-03-28 07:49:23 +01:00
missioncontrol_state.go routing: add mission control import functionality 2021-03-18 10:46:45 +02:00
missioncontrol_store_test.go kvdb: add timeout options for bbolt (#4787) 2020-12-07 15:31:49 -08:00
missioncontrol_store.go multi: add reset closure to kvdb.Update 2020-11-05 17:57:12 +01:00
missioncontrol_test.go routing: extract probability estimator cfg and add validation 2021-01-19 10:57:13 +02:00
missioncontrol.go Merge pull request #5116 from joostjager/mc-deadlock 2021-04-05 20:02:57 -07:00
mock_graph_test.go routing/test: use fixed identifiers in test graph 2020-04-09 08:20:43 +02:00
mock_test.go routing/tests: move lock acquisition after state driving channels 2021-04-23 08:39:39 +02:00
nodepair.go routing: extended DirectedNodePair functionality 2019-08-13 18:45:06 +02:00
notifications_test.go routing: add missing GlobalFeatures to NetworkNodeUpdate 2020-12-07 15:47:09 +01:00
notifications.go routing: add missing GlobalFeatures to NetworkNodeUpdate 2020-12-07 15:47:09 +01:00
pathfind_test.go routing: add proportional attempt cost 2020-09-08 15:47:08 +02:00
pathfind.go routing: fix pathfind edge features being nil 2021-04-13 15:53:18 +08:00
payment_lifecycle_test.go routing/test: remove test channel buffers 2021-04-23 08:39:38 +02:00
payment_lifecycle.go routing: promote shard logs on resume and terminal failure to Info 2020-11-24 14:59:39 +01:00
payment_session_source.go routing: move payment session constructor 2020-04-16 16:25:24 +02:00
payment_session_test.go router: move self node out of config 2021-01-19 10:57:10 +02:00
payment_session.go routing: check payment.DestFeatures against nil 2021-03-17 00:14:20 +08:00
probability_estimator_test.go routing: extract probability estimator cfg and add validation 2021-01-19 10:57:13 +02:00
probability_estimator.go routing: extract probability estimator cfg and add validation 2021-01-19 10:57:13 +02:00
README.md multi: unify code blocks in READMEs 2021-01-22 09:14:11 +01:00
result_interpretation_test.go routing: continue trying after mpp timeout 2020-04-09 08:20:52 +02:00
result_interpretation.go routing: continue trying after mpp timeout 2020-04-09 08:20:52 +02:00
router_test.go routing: add strict zombie pruning as a config level param 2021-04-21 13:56:27 -05:00
router.go routing: add strict zombie pruning as a config level param 2021-04-21 13:56:27 -05:00
stats.go routing/router: log aggregate graph processing stats 2019-06-13 18:18:30 -07:00
unified_policies_test.go routing: use unified policy for path finding 2019-10-25 11:22:28 +02:00
unified_policies.go routing+routerrpc: add multiple outgoing channel restriction 2020-05-12 07:17:24 +02:00
validation_barrier_test.go discovery+routing: cancel dependent jobs if parent validation fails 2021-03-23 11:56:51 -07:00
validation_barrier.go discovery+routing: cancel dependent jobs if parent validation fails 2021-03-23 11:56:51 -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