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

lightningnetwork / lnd / 13725358077

07 Mar 2025 04:51PM UTC coverage: 58.224% (-10.4%) from 68.615%
13725358077

Pull #9458

github

web-flow
Merge bf4c6625f into ab2dc09eb
Pull Request #9458: multi+server.go: add initial permissions for some peers

346 of 549 new or added lines in 10 files covered. (63.02%)

27466 existing lines in 443 files now uncovered.

94609 of 162492 relevant lines covered (58.22%)

1.81 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