mirror of
https://github.com/lightningnetwork/lnd.git
synced 2026-08-13 12:32:48 +02:00
graphdb: pass context to IsClosedScid
This commit is contained in:
parent
4dcaf1c16a
commit
8722a96a4e
9 changed files with 22 additions and 16 deletions
|
|
@ -59,7 +59,7 @@ type GraphCloser interface {
|
|||
PutClosedScid(context.Context, lnwire.ShortChannelID) error
|
||||
|
||||
// IsClosedScid checks if a short channel id is closed.
|
||||
IsClosedScid(lnwire.ShortChannelID) (bool, error)
|
||||
IsClosedScid(context.Context, lnwire.ShortChannelID) (bool, error)
|
||||
}
|
||||
|
||||
// NodeInfoInquirier handles queries relating to specific nodes and channels
|
||||
|
|
@ -97,10 +97,10 @@ func (s *ScidCloserMan) PutClosedScid(ctx context.Context,
|
|||
|
||||
// IsClosedScid checks whether scid is closed so that the gossiper can ignore
|
||||
// it.
|
||||
func (s *ScidCloserMan) IsClosedScid(scid lnwire.ShortChannelID) (bool,
|
||||
error) {
|
||||
func (s *ScidCloserMan) IsClosedScid(ctx context.Context,
|
||||
scid lnwire.ShortChannelID) (bool, error) {
|
||||
|
||||
return s.graph.IsClosedScid(scid)
|
||||
return s.graph.IsClosedScid(ctx, scid)
|
||||
}
|
||||
|
||||
// IsChannelPeer checks whether we have a channel with the peer.
|
||||
|
|
|
|||
|
|
@ -2724,7 +2724,7 @@ func (d *AuthenticatedGossiper) handleChanAnnouncement(ctx context.Context,
|
|||
|
||||
// Check if the channel is already closed in which case we can ignore
|
||||
// it.
|
||||
closed, err := d.cfg.ScidCloser.IsClosedScid(scid)
|
||||
closed, err := d.cfg.ScidCloser.IsClosedScid(ctx, scid)
|
||||
if err != nil {
|
||||
log.Errorf("failed to check if scid %v is closed: %v", scid,
|
||||
err)
|
||||
|
|
|
|||
|
|
@ -4793,7 +4793,7 @@ func TestChanAnnBanningNonChanPeer(t *testing.T) {
|
|||
|
||||
// Check that the announcement's scid is marked as closed.
|
||||
isClosed, err := tCtx.gossiper.cfg.ScidCloser.IsClosedScid(
|
||||
ca.ShortChannelID,
|
||||
ctx, ca.ShortChannelID,
|
||||
)
|
||||
require.Nil(t, err)
|
||||
require.True(t, isClosed)
|
||||
|
|
|
|||
|
|
@ -187,8 +187,8 @@ func (m *mockScidCloser) PutClosedScid(_ context.Context,
|
|||
return nil
|
||||
}
|
||||
|
||||
func (m *mockScidCloser) IsClosedScid(scid lnwire.ShortChannelID) (bool,
|
||||
error) {
|
||||
func (m *mockScidCloser) IsClosedScid(_ context.Context,
|
||||
scid lnwire.ShortChannelID) (bool, error) {
|
||||
|
||||
m.Lock()
|
||||
defer m.Unlock()
|
||||
|
|
|
|||
|
|
@ -779,8 +779,10 @@ func (c *ChannelGraph) PutClosedScid(ctx context.Context,
|
|||
}
|
||||
|
||||
// IsClosedScid checks whether a channel identified by the scid is closed.
|
||||
func (c *ChannelGraph) IsClosedScid(scid lnwire.ShortChannelID) (bool, error) {
|
||||
return c.db.IsClosedScid(scid)
|
||||
func (c *ChannelGraph) IsClosedScid(ctx context.Context,
|
||||
scid lnwire.ShortChannelID) (bool, error) {
|
||||
|
||||
return c.db.IsClosedScid(ctx, scid)
|
||||
}
|
||||
|
||||
// SetSourceNode sets the source node within the graph database.
|
||||
|
|
|
|||
|
|
@ -5086,7 +5086,7 @@ func TestClosedScid(t *testing.T) {
|
|||
scid := lnwire.ShortChannelID{}
|
||||
|
||||
// The scid should not exist in the closedScidBucket.
|
||||
exists, err := graph.IsClosedScid(scid)
|
||||
exists, err := graph.IsClosedScid(t.Context(), scid)
|
||||
require.Nil(t, err)
|
||||
require.False(t, exists)
|
||||
|
||||
|
|
@ -5095,7 +5095,7 @@ func TestClosedScid(t *testing.T) {
|
|||
err = graph.PutClosedScid(t.Context(), scid)
|
||||
require.Nil(t, err)
|
||||
|
||||
exists, err = graph.IsClosedScid(scid)
|
||||
exists, err = graph.IsClosedScid(t.Context(), scid)
|
||||
require.Nil(t, err)
|
||||
require.True(t, exists)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -353,7 +353,8 @@ type Store interface { //nolint:interfacebloat
|
|||
// IsClosedScid checks whether a channel identified by the passed in
|
||||
// scid is closed. This helps avoid having to perform expensive
|
||||
// validation checks.
|
||||
IsClosedScid(scid lnwire.ShortChannelID) (bool, error)
|
||||
IsClosedScid(ctx context.Context,
|
||||
scid lnwire.ShortChannelID) (bool, error)
|
||||
|
||||
// UpdateEdgePolicy updates the edge routing policy for a single
|
||||
// directed edge within the database for the referenced channel. The
|
||||
|
|
|
|||
|
|
@ -4456,7 +4456,9 @@ func (c *KVStore) PutClosedScid(_ context.Context,
|
|||
// IsClosedScid checks whether a channel identified by the passed in scid is
|
||||
// closed. This helps avoid having to perform expensive validation checks.
|
||||
// TODO: Add an LRU cache to cut down on disc reads.
|
||||
func (c *KVStore) IsClosedScid(scid lnwire.ShortChannelID) (bool, error) {
|
||||
func (c *KVStore) IsClosedScid(_ context.Context,
|
||||
scid lnwire.ShortChannelID) (bool, error) {
|
||||
|
||||
var isClosed bool
|
||||
err := kvdb.View(c.db, func(tx kvdb.RTx) error {
|
||||
closedScids := tx.ReadBucket(closedScidBucket)
|
||||
|
|
|
|||
|
|
@ -3287,9 +3287,10 @@ func (s *SQLStore) PutClosedScid(ctx context.Context,
|
|||
// closed. This helps avoid having to perform expensive validation checks.
|
||||
//
|
||||
// NOTE: part of the Store interface.
|
||||
func (s *SQLStore) IsClosedScid(scid lnwire.ShortChannelID) (bool, error) {
|
||||
func (s *SQLStore) IsClosedScid(ctx context.Context,
|
||||
scid lnwire.ShortChannelID) (bool, error) {
|
||||
|
||||
var (
|
||||
ctx = context.TODO()
|
||||
isClosed bool
|
||||
chanIDB = channelIDToBytes(scid.ToUint64())
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue