fix(lib): route on the full four-byte message code
Dispatch read one byte of the code, so a code with a non-zero high byte was handled as its low byte. Message::get_message_code now reads the whole little-endian uint32 and handlers register by u32. PeerInit and PierceFirewall, the only frames with a one-byte code, get their own accessor for the listener's first frame.
This commit is contained in:
@@ -191,7 +191,7 @@ fn test_new_from_message2() {
|
||||
let mut message = Message::new_with_data(data);
|
||||
message.set_pointer(8);
|
||||
|
||||
println!("code: {}", message.get_message_code_u32());
|
||||
println!("code: {}", message.get_message_code());
|
||||
|
||||
let peer = Peer::new_from_message(&mut message).unwrap();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user