From bac3e0308b0ced574477793e63b268b9291cc6ce Mon Sep 17 00:00:00 2001 From: Steven Roose Date: Tue, 3 Dec 2019 21:19:44 +0000 Subject: [PATCH] Add command method to NetworkMessage Also make the return type an &'static str --- src/network/message.rs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/network/message.rs b/src/network/message.rs index d87a6d4c..c59102f8 100644 --- a/src/network/message.rs +++ b/src/network/message.rs @@ -136,10 +136,10 @@ pub enum NetworkMessage { Reject(message_network::Reject) } -impl RawNetworkMessage { +impl NetworkMessage { /// Return the message command. This is useful for debug outputs. - pub fn command(&self) -> String { - match self.payload { + pub fn command(&self) -> &'static str { + match *self { NetworkMessage::Version(_) => "version", NetworkMessage::Verack => "verack", NetworkMessage::Addr(_) => "addr", @@ -164,7 +164,14 @@ impl RawNetworkMessage { NetworkMessage::CFCheckpt(_) => "cfcheckpt", NetworkMessage::Alert(_) => "alert", NetworkMessage::Reject(_) => "reject", - }.to_owned() + } + } +} + +impl RawNetworkMessage { + /// Return the message command. This is useful for debug outputs. + pub fn command(&self) -> &'static str { + self.payload.command() } } @@ -193,7 +200,7 @@ impl Encodable for RawNetworkMessage { ) -> Result { let mut len = 0; len += self.magic.consensus_encode(&mut s)?; - len += CommandString(self.command()).consensus_encode(&mut s)?; + len += CommandString(self.command().to_owned()).consensus_encode(&mut s)?; len += CheckedData(match self.payload { NetworkMessage::Version(ref dat) => serialize(dat), NetworkMessage::Addr(ref dat) => serialize(dat),