Write a pure-Go implementation of the Go client.
Standard tools for distributing and installing Go packages do not handle C dependencies. This makes the Go client hard to adopt in an all-Go development environment.
Frequent calls to a C library can also create performance issues, as the Go scheduler has to take special steps to execute C functions which require a larger stack than native go functions.
Port the relevant parts of the proton-C library (the codec and protocol engine) to Go.