lnwire: add new SerializedSize method to all wire messages

This'll be useful for the bandwidth based rate limiting we'll implement
in the next commit.
This commit is contained in:
Olaoluwa Osuntokun
2025-03-18 18:55:16 -05:00
parent e8875e06fe
commit 56a100123b
40 changed files with 453 additions and 4 deletions

View File

@@ -104,6 +104,9 @@ type NodeAnnouncement struct {
// lnwire.Message interface.
var _ Message = (*NodeAnnouncement)(nil)
// A compile time check to ensure NodeAnnouncement implements the lnwire.SizeableMessage interface.
var _ SizeableMessage = (*NodeAnnouncement)(nil)
// Decode deserializes a serialized NodeAnnouncement stored in the passed
// io.Reader observing the specified protocol version.
//
@@ -202,3 +205,10 @@ func (a *NodeAnnouncement) DataToSign() ([]byte, error) {
return buf.Bytes(), nil
}
// SerializedSize returns the serialized size of the message in bytes.
//
// This is part of the lnwire.SizeableMessage interface.
func (a *NodeAnnouncement) SerializedSize() (uint32, error) {
return MessageSerializedSize(a)
}