edgedb / edgedb-net

The official .NET client library for EdgeDB
https://edgedb.com
Apache License 2.0
82 stars 9 forks source link

Binary protocol abstraction and protocol v2.0 #59

Closed quinchs closed 1 year ago

quinchs commented 1 year ago

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