Skip to content

Commit f6bdb87

Browse files
committed
multi: remove kvdb.RTx from ForEachNodeChannel
Since we have not removed all call-sites that make use of this parameter, we can remove it. This helps hide DB-specific details from the interface we will introduce for the graph store.
1 parent 1ee2bd3 commit f6bdb87

File tree

7 files changed

+18
-20
lines changed

7 files changed

+18
-20
lines changed

autopilot/prefattach_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -736,7 +736,7 @@ func (t *testNodeTx) Node() *models.LightningNode {
736736
func (t *testNodeTx) ForEachChannel(f func(*models.ChannelEdgeInfo,
737737
*models.ChannelEdgePolicy, *models.ChannelEdgePolicy) error) error {
738738

739-
return t.db.db.ForEachNodeChannel(t.node.PubKeyBytes, func(_ kvdb.RTx,
739+
return t.db.db.ForEachNodeChannel(t.node.PubKeyBytes, func(
740740
edge *models.ChannelEdgeInfo, policy1,
741741
policy2 *models.ChannelEdgePolicy) error {
742742

graph/builder.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
"github.com/lightningnetwork/lnd/chainntnfs"
1414
graphdb "github.com/lightningnetwork/lnd/graph/db"
1515
"github.com/lightningnetwork/lnd/graph/db/models"
16-
"github.com/lightningnetwork/lnd/kvdb"
1716
"github.com/lightningnetwork/lnd/lnutils"
1817
"github.com/lightningnetwork/lnd/lnwallet"
1918
"github.com/lightningnetwork/lnd/lnwire"
@@ -1276,8 +1275,7 @@ func (b *Builder) ForAllOutgoingChannels(cb func(*models.ChannelEdgeInfo,
12761275
*models.ChannelEdgePolicy) error) error {
12771276

12781277
return b.cfg.Graph.ForEachNodeChannel(b.cfg.SelfNode,
1279-
func(_ kvdb.RTx, c *models.ChannelEdgeInfo,
1280-
e *models.ChannelEdgePolicy,
1278+
func(c *models.ChannelEdgeInfo, e *models.ChannelEdgePolicy,
12811279
_ *models.ChannelEdgePolicy) error {
12821280

12831281
if e == nil {

graph/db/graph_test.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -1141,7 +1141,7 @@ func TestGraphTraversal(t *testing.T) {
11411141
numNodeChans := 0
11421142
firstNode, secondNode := nodeList[0], nodeList[1]
11431143
err = graph.ForEachNodeChannel(firstNode.PubKeyBytes,
1144-
func(_ kvdb.RTx, _ *models.ChannelEdgeInfo, outEdge,
1144+
func(_ *models.ChannelEdgeInfo, outEdge,
11451145
inEdge *models.ChannelEdgePolicy) error {
11461146

11471147
// All channels between first and second node should
@@ -2882,7 +2882,7 @@ func TestIncompleteChannelPolicies(t *testing.T) {
28822882

28832883
calls := 0
28842884
err := graph.ForEachNodeChannel(node.PubKeyBytes,
2885-
func(_ kvdb.RTx, _ *models.ChannelEdgeInfo, outEdge,
2885+
func(_ *models.ChannelEdgeInfo, outEdge,
28862886
inEdge *models.ChannelEdgePolicy) error {
28872887

28882888
if !expectedOut && outEdge != nil {
@@ -4001,8 +4001,7 @@ func BenchmarkForEachChannel(b *testing.B) {
40014001
require.NoError(b, err)
40024002

40034003
for _, n := range nodes {
4004-
cb := func(tx kvdb.RTx,
4005-
info *models.ChannelEdgeInfo,
4004+
cb := func(info *models.ChannelEdgeInfo,
40064005
policy *models.ChannelEdgePolicy,
40074006
policy2 *models.ChannelEdgePolicy) error { //nolint:ll
40084007

graph/db/kv_store.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -3103,10 +3103,15 @@ func nodeTraversal(tx kvdb.RTx, nodePub []byte, db kvdb.Backend,
31033103
//
31043104
// Unknown policies are passed into the callback as nil values.
31053105
func (c *KVStore) ForEachNodeChannel(nodePub route.Vertex,
3106-
cb func(kvdb.RTx, *models.ChannelEdgeInfo, *models.ChannelEdgePolicy,
3106+
cb func(*models.ChannelEdgeInfo, *models.ChannelEdgePolicy,
31073107
*models.ChannelEdgePolicy) error) error {
31083108

3109-
return nodeTraversal(nil, nodePub[:], c.db, cb)
3109+
return nodeTraversal(nil, nodePub[:], c.db, func(_ kvdb.RTx,
3110+
info *models.ChannelEdgeInfo, policy,
3111+
policy2 *models.ChannelEdgePolicy) error {
3112+
3113+
return cb(info, policy, policy2)
3114+
})
31103115
}
31113116

31123117
// ForEachSourceNodeChannel iterates through all channels of the source node,

graph/interfaces.go

+3-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"github.com/lightningnetwork/lnd/batch"
99
graphdb "github.com/lightningnetwork/lnd/graph/db"
1010
"github.com/lightningnetwork/lnd/graph/db/models"
11-
"github.com/lightningnetwork/lnd/kvdb"
1211
"github.com/lightningnetwork/lnd/lnwire"
1312
"github.com/lightningnetwork/lnd/routing/route"
1413
)
@@ -254,10 +253,9 @@ type DB interface {
254253
// to the caller.
255254
//
256255
// Unknown policies are passed into the callback as nil values.
257-
ForEachNodeChannel(nodePub route.Vertex, cb func(kvdb.RTx,
258-
*models.ChannelEdgeInfo,
259-
*models.ChannelEdgePolicy,
260-
*models.ChannelEdgePolicy) error) error
256+
ForEachNodeChannel(nodePub route.Vertex,
257+
cb func(*models.ChannelEdgeInfo, *models.ChannelEdgePolicy,
258+
*models.ChannelEdgePolicy) error) error
261259

262260
// AddEdgeProof sets the proof of an existing edge in the graph
263261
// database.

rpcserver.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ import (
5656
"github.com/lightningnetwork/lnd/input"
5757
"github.com/lightningnetwork/lnd/invoices"
5858
"github.com/lightningnetwork/lnd/keychain"
59-
"github.com/lightningnetwork/lnd/kvdb"
6059
"github.com/lightningnetwork/lnd/labels"
6160
"github.com/lightningnetwork/lnd/lncfg"
6261
"github.com/lightningnetwork/lnd/lnrpc"
@@ -6959,7 +6958,7 @@ func (r *rpcServer) GetNodeInfo(ctx context.Context,
69596958
)
69606959

69616960
err = graph.ForEachNodeChannel(node.PubKeyBytes,
6962-
func(_ kvdb.RTx, edge *models.ChannelEdgeInfo,
6961+
func(edge *models.ChannelEdgeInfo,
69636962
c1, c2 *models.ChannelEdgePolicy) error {
69646963

69656964
numChannels++
@@ -7641,7 +7640,7 @@ func (r *rpcServer) FeeReport(ctx context.Context,
76417640

76427641
var feeReports []*lnrpc.ChannelFeeReport
76437642
err = channelGraph.ForEachNodeChannel(selfNode.PubKeyBytes,
7644-
func(_ kvdb.RTx, chanInfo *models.ChannelEdgeInfo,
7643+
func(chanInfo *models.ChannelEdgeInfo,
76457644
edgePolicy, _ *models.ChannelEdgePolicy) error {
76467645

76477646
// Self node should always have policies for its

server.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ import (
5151
"github.com/lightningnetwork/lnd/input"
5252
"github.com/lightningnetwork/lnd/invoices"
5353
"github.com/lightningnetwork/lnd/keychain"
54-
"github.com/lightningnetwork/lnd/kvdb"
5554
"github.com/lightningnetwork/lnd/lncfg"
5655
"github.com/lightningnetwork/lnd/lnencrypt"
5756
"github.com/lightningnetwork/lnd/lnpeer"
@@ -1212,7 +1211,7 @@ func newServer(_ context.Context, cfg *Config, listenAddrs []net.Addr,
12121211
*models.ChannelEdgePolicy) error) error {
12131212

12141213
return s.graphDB.ForEachNodeChannel(selfVertex,
1215-
func(_ kvdb.RTx, c *models.ChannelEdgeInfo,
1214+
func(c *models.ChannelEdgeInfo,
12161215
e *models.ChannelEdgePolicy,
12171216
_ *models.ChannelEdgePolicy) error {
12181217

0 commit comments

Comments
 (0)