Skip to content

Commit 651e74d

Browse files
committed
Use a tuple struct for MessageType
1 parent d37854a commit 651e74d

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

lightning/src/ln/wire.rs

+8-10
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,7 @@ pub enum Message {
5252

5353
/// A number identifying a message to determine how it is encoded on the wire.
5454
#[derive(Clone, Copy)]
55-
pub struct MessageType {
56-
number: u16,
57-
}
55+
pub struct MessageType(u16);
5856

5957
impl Message {
6058
/// Returns the type that was used to decode the message payload.
@@ -91,13 +89,13 @@ impl Message {
9189
impl MessageType {
9290
/// Returns whether the message type is even, indicating both endpoints must support it.
9391
pub fn is_even(&self) -> bool {
94-
(self.number & 1) == 0
92+
(self.0 & 1) == 0
9593
}
9694
}
9795

9896
impl ::std::fmt::Display for MessageType {
9997
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
100-
write!(f, "{}", self.number)
98+
write!(f, "{}", self.0)
10199
}
102100
}
103101

@@ -180,7 +178,7 @@ pub fn read<R: std::io::Read>(buffer: &mut R) -> Result<Message, msgs::DecodeErr
180178
Ok(Message::ChannelUpdate(Readable::read(buffer)?))
181179
},
182180
_ => {
183-
Ok(Message::Unknown(MessageType { number: message_type }))
181+
Ok(Message::Unknown(MessageType(message_type)))
184182
},
185183
}
186184
}
@@ -209,7 +207,7 @@ pub trait Encode: Writeable {
209207
/// Returns the type identifying the message payload. Convenience method for accessing
210208
/// [`TYPE`](TYPE).
211209
fn type_id(&self) -> MessageType {
212-
MessageType { number: Self::TYPE }
210+
MessageType(Self::TYPE)
213211
}
214212

215213
/// Writes the type and message payload to the given data buffer.
@@ -364,7 +362,7 @@ mod tests {
364362
let mut reader = ::std::io::Cursor::new(buffer);
365363
let message = read(&mut reader)?;
366364
match message {
367-
Message::Unknown(MessageType { number: std::u16::MAX }) => Ok(()),
365+
Message::Unknown(MessageType(std::u16::MAX)) => Ok(()),
368366
_ => panic!("Expected message type {}; found: {}", std::u16::MAX, message.type_id()),
369367
}
370368
}
@@ -400,13 +398,13 @@ mod tests {
400398

401399
#[test]
402400
fn is_even_message_type() {
403-
let message = Message::Unknown(MessageType { number: 42 });
401+
let message = Message::Unknown(MessageType(42));
404402
assert!(message.type_id().is_even());
405403
}
406404

407405
#[test]
408406
fn is_odd_message_type() {
409-
let message = Message::Unknown(MessageType { number: 43 });
407+
let message = Message::Unknown(MessageType(43));
410408
assert!(!message.type_id().is_even());
411409
}
412410
}

0 commit comments

Comments
 (0)