• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lightningnetwork / lnd / 13566028875

27 Feb 2025 12:09PM UTC coverage: 49.396% (-9.4%) from 58.748%
13566028875

Pull #9555

github

ellemouton
graph/db: populate the graph cache in Start instead of during construction

In this commit, we move the graph cache population logic out of the
ChannelGraph constructor and into its Start method instead.
Pull Request #9555: graph: extract cache from CRUD [6]

34 of 54 new or added lines in 4 files covered. (62.96%)

27464 existing lines in 436 files now uncovered.

101095 of 204664 relevant lines covered (49.4%)

1.54 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

75.0
/lnwire/stfu.go
1
package lnwire
2

3
import (
4
        "bytes"
5
        "io"
6
)
7

8
// Stfu is a message that is sent to lock the channel state prior to some other
9
// interactive protocol where channel updates need to be paused.
10
type Stfu struct {
11
        // ChanID identifies which channel needs to be frozen.
12
        ChanID ChannelID
13

14
        // Initiator is a byte that identifies whether we are the initiator of
15
        // this process.
16
        Initiator bool
17

18
        // ExtraData is the set of data that was appended to this message to
19
        // fill out the full maximum transport message size. These fields can
20
        // be used to specify optional data such as custom TLV fields.
21
        ExtraData ExtraOpaqueData
22
}
23

24
// A compile time check to ensure Stfu implements the lnwire.Message interface.
25
var _ Message = (*Stfu)(nil)
26

27
// Encode serializes the target Stfu into the passed io.Writer.
28
// Serialization will observe the rules defined by the passed protocol version.
29
//
30
// This is a part of the lnwire.Message interface.
31
func (s *Stfu) Encode(w *bytes.Buffer, _ uint32) error {
3✔
32
        if err := WriteChannelID(w, s.ChanID); err != nil {
3✔
33
                return err
×
34
        }
×
35

36
        if err := WriteBool(w, s.Initiator); err != nil {
3✔
37
                return err
×
38
        }
×
39

40
        return WriteBytes(w, s.ExtraData)
3✔
41
}
42

43
// Decode deserializes the serialized Stfu stored in the passed io.Reader
44
// into the target Stfu using the deserialization rules defined by the
45
// passed protocol version.
46
//
47
// This is a part of the lnwire.Message interface.
48
func (s *Stfu) Decode(r io.Reader, _ uint32) error {
3✔
49
        if err := ReadElements(
3✔
50
                r, &s.ChanID, &s.Initiator, &s.ExtraData,
3✔
51
        ); err != nil {
3✔
UNCOV
52
                return err
×
UNCOV
53
        }
×
54

55
        // This is required to pass the fuzz test round trip equality check.
56
        if len(s.ExtraData) == 0 {
6✔
57
                s.ExtraData = nil
3✔
58
        }
3✔
59

60
        return nil
3✔
61
}
62

63
// MsgType returns the MessageType code which uniquely identifies this message
64
// as a Stfu on the wire.
65
//
66
// This is part of the lnwire.Message interface.
67
func (s *Stfu) MsgType() MessageType {
3✔
68
        return MsgStfu
3✔
69
}
3✔
70

71
// A compile time check to ensure Stfu implements the
72
// lnwire.LinkUpdater interface.
73
var _ LinkUpdater = (*Stfu)(nil)
74

75
// TargetChanID returns the channel id of the link for which this message is
76
// intended.
77
//
78
// NOTE: Part of peer.LinkUpdater interface.
79
func (s *Stfu) TargetChanID() ChannelID {
3✔
80
        return s.ChanID
3✔
81
}
3✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc