Quote:
Originally Posted by friflaj
OTOH, from what I can glean from the logs, it doesn't look overly complicated.
|
It isn't very complicated. Most packets are JSON-encoded. The exceptions are the binary packets used for file transfer. I can't see why you would need wireshark given that you can run calibre from source and look at actual packets, but if it makes life easier for you ...
Most of the complication comes from historical evolution of the protocol. Options have been introduced over time to avoid breaking older clients. That is why you will see many "CanDoX" and "WillDoX" booleans in the handshake packets. You will see similar things in the initialization sequence, specifically around metadata and book syncing.
The protocol version # has never been used and has never changed.