A frame whose message id is not one this codec recognises. libtorrent would route this to a peer-plugin or drop the connection; we surface it so the caller can decide. id is the raw id byte, payload is everything after it.
The numeric message id, or -1 for KeepAlive (which has no id byte on the wire). Matches bt_peer_connection::message_type.
bt_peer_connection::message_type
The full on-the-wire frame: 4-byte big-endian length prefix + id + payload.