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

@@ -49,6 +49,10 @@ func NewQueryChannelRange() *QueryChannelRange {
// lnwire.Message interface.
var _ Message = (*QueryChannelRange)(nil)
// A compile time check to ensure QueryChannelRange implements the lnwire.SizeableMessage
// interface.
var _ SizeableMessage = (*QueryChannelRange)(nil)
// Decode deserializes a serialized QueryChannelRange message stored in the
// passed io.Reader observing the specified protocol version.
//
@@ -121,6 +125,14 @@ func (q *QueryChannelRange) MsgType() MessageType {
return MsgQueryChannelRange
}
// SerializedSize returns the serialized size of the message in bytes.
//
// This is part of the lnwire.SizeableMessage interface.
func (q *QueryChannelRange) SerializedSize() (uint32, error) {
msgCpy := *q
return MessageSerializedSize(&msgCpy)
}
// LastBlockHeight returns the last block height covered by the range of a
// QueryChannelRange message.
func (q *QueryChannelRange) LastBlockHeight() uint32 {