Protocol_version_header This library offers a lightweight way for applications protocols to version themselves. The more protocols that add themselves to Known_protocol, the nicer error messages we will get when connecting to a service while using the wrong protocol.