Move message type parity logic to the wire module
[rust-lightning] / lightning / src / ln / peer_handler.rs
index 30e208155c5699596ee92988b37790f10ff904a2..e25e50c28b5f1190edea81c429bae659b6a0c092 100644 (file)
@@ -773,12 +773,11 @@ impl<Descriptor: SocketDescriptor, CM: Deref> PeerManager<Descriptor, CM> where
                                                                                        },
 
                                                                                        // Unknown messages:
-                                                                                       wire::Message::Unknown(msg_type) => {
+                                                                                       wire::Message::Unknown(msg_type) if msg_type.is_even() => {
                                                                                                // Fail the channel if message is an even, unknown type as per BOLT #1.
-                                                                                               if (msg_type & 1) == 0 {
-                                                                                                       return Err(PeerHandleError{ no_connection_possible: true });
-                                                                                               }
+                                                                                               return Err(PeerHandleError{ no_connection_possible: true });
                                                                                        },
+                                                                                       wire::Message::Unknown(_) => {},
                                                                                }
                                                                        }
                                                                }