This PR abstracts the inner workings of the binary protocol from the underlying client via IProtocolProvider. A client maintains a protocol provider, chosen by the initial handshake, which can be upgraded/downgraded based off the servers handshake.
With this abstraction, protocol v2.0 was added which supports the new type descriptor layout found in src/EdgeDB.Net.Driver/Binary/Protocol/V2.0
Summary
This PR abstracts the inner workings of the binary protocol from the underlying client via
IProtocolProvider
. A client maintains a protocol provider, chosen by the initial handshake, which can be upgraded/downgraded based off the servers handshake.With this abstraction, protocol v2.0 was added which supports the new type descriptor layout found in
src/EdgeDB.Net.Driver/Binary/Protocol/V2.0