lnd/routing
Elle Mouton fa7c1e250b
multi: let ForEachChannel be a method on ChannelGraph
Having a `ForEachChannel` method on the `LightningNode` struct itself
results in a `kvdb.Backend` object needing to be stored within the
LightningNode struct. In this commit, this method is replaced with a
`ForEachNodeChannel` method on the `ChannelGraph` struct will perform
the same function without needing the db pointer to be stored within the
LightningNode. This change, the LightningNode struct more closely
represents the schema on disk.

The existing `ForEachNodeChannel` method on `ChannelGraph` is renamed to
`ForEachNodeDirectedChannel`. It performs a slightly different function
since it's call-back operates on Cached policies.
2023-11-08 10:51:50 +02:00
..
chainview routing: use T.TempDir to create temporary test directory 2022-08-24 09:03:05 +08:00
localchans multi: use fwding policy from models pkg 2023-08-22 06:22:33 +08:00
route routing: account for blinded routes in fee calculation 2023-10-06 16:38:33 -07:00
shards multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
testdata routing: add private key attribute in router test 2021-06-23 18:13:02 +08:00
ann_validation.go routing: stricter maxHTLC checks 2023-02-21 14:03:51 +01:00
bandwidth_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
bandwidth.go routing: add more verbose logs 2023-01-17 07:26:57 +08:00
blinding_test.go multi: add blinded route to route requests expressed as hints 2023-10-06 16:38:33 -07:00
blinding.go multi: add blinded route to route requests expressed as hints 2023-10-06 16:38:33 -07:00
control_tower_test.go routing+channeldb: use HTLCAttempt instead of HTLCAttemptInfo 2023-10-06 16:38:33 -07:00
control_tower.go routing+channeldb: make MPPayment into an interface 2023-10-06 16:38:33 -07:00
errors.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
graph.go multi: let ForEachChannel be a method on ChannelGraph 2023-11-08 10:51:50 +02:00
heap_test.go routing: optimize path finding structures 2019-10-24 21:38:07 -03:00
heap.go multi: use minimal policy in cache 2021-09-29 17:00:04 +02:00
integrated_routing_context_test.go routing+lnrpc: make capacity factor configurable 2023-02-24 15:28:55 +01:00
integrated_routing_test.go lnd+routing+rpc: switch mc to (external) estimator 2023-02-14 13:34:25 +01:00
log.go routing: define subsystem constant 2019-12-11 00:17:04 +01:00
missioncontrol_state_test.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
missioncontrol_state.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
missioncontrol_store_test.go routing: use T.TempDir to create temporary test directory 2022-08-24 09:03:05 +08:00
missioncontrol_store.go lnwire: allow longer failure messages 2022-12-02 14:27:59 +01:00
missioncontrol_test.go routing+lnrpc: make capacity factor configurable 2023-02-24 15:28:55 +01:00
missioncontrol.go multi: add debug logs to catch slow shutdown 2023-10-06 16:34:47 -07:00
mock_graph_test.go routing+routerrpc: add capacity in rpcs 2022-12-12 13:22:29 +01:00
mock_test.go routing+channeldb: make MPPayment into an interface 2023-10-06 16:38:33 -07:00
nodepair.go routing: extended DirectedNodePair functionality 2019-08-13 18:45:06 +02:00
notifications_test.go multi: add GetBlockHeader to BlockChainIO 2023-10-27 11:05:27 -04:00
notifications.go routing: remove the mutex and use SyncMap instead 2023-01-19 07:08:18 +08:00
pathfind_test.go routing: include route blinding fields in blinded portion of path 2023-10-06 16:38:33 -07:00
pathfind.go routing: remove 0-value warning log in pathfinding 2023-10-06 16:38:33 -07:00
payment_lifecycle_test.go routing+channeldb: make MPPayment into an interface 2023-10-06 16:38:33 -07:00
payment_lifecycle.go routing+channeldb: use HTLCAttempt instead of HTLCAttemptInfo 2023-10-06 16:38:33 -07:00
payment_session_source.go trivial: Fix spelling errors 2023-09-21 22:35:33 -04:00
payment_session_test.go router: return probability from findPath 2022-12-12 13:22:29 +01:00
payment_session.go routing: include route blinding fields in blinded portion of path 2023-10-06 16:38:33 -07:00
probability_apriori_test.go trivial: Fix spelling errors 2023-09-21 22:35:33 -04:00
probability_apriori.go trivial: Fix spelling errors 2023-09-21 22:35:33 -04:00
probability_bimodal_test.go routing: stronger use of direct bimodal probability 2023-03-23 11:12:10 +01:00
probability_bimodal.go routing: stronger use of direct bimodal probability 2023-03-23 11:12:10 +01:00
probability_estimator_test.go routing: add probability benchmarks 2023-02-14 13:34:25 +01:00
probability_estimator.go routing: add probability estimator interface 2023-02-10 09:58:40 +01:00
README.md scripted-diff: replace ⛰ emoji with $ [skip ci] 2022-10-28 12:06:49 -04:00
result_interpretation_test.go multi: run gosimports 2022-02-10 11:02:01 +01:00
result_interpretation.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
router_test.go multi: add blinded route to route requests expressed as hints 2023-10-06 16:38:33 -07:00
router.go multi: let ForEachChannel be a method on ChannelGraph 2023-11-08 10:51:50 +02:00
setup_test.go channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
stats.go routing/router: log aggregate graph processing stats 2019-06-13 18:18:30 -07:00
unified_edges_test.go multi: rename due to required maxHTLC bit 2023-02-21 11:10:39 +01:00
unified_edges.go routing: add capacity to special edges 2023-03-23 11:12:10 +01:00
validation_barrier_test.go routing+discovery: uniform error codes in routing 2022-01-05 04:27:33 +08:00
validation_barrier.go multi: enhance loggings and fix logging format 2023-02-23 21:56:08 +08: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