jet / kafunk

Kafunk: F# Kafka client
https://jet.github.io/kafunk/
Other
160 stars 63 forks source link

Add versioning support for all currently implemented Kafka Protocol APIs #193

Closed egracer closed 6 years ago

egracer commented 6 years ago

Nearly all work is in Protocols.fs, though some modifications outside the file were necessary for type compatibility (with some minimal factoring out of anonymous functions with a high argument count).

eulerfx commented 6 years ago

Nice @egracer .. I didn't realize, but this gives us support for the new transactions feature at the protocol level. We just need to implement the higher level operations https://github.com/jet/kafunk/issues/179.

One other thing that needs changing is the Versions.fs file where the API version to use is determined based on the AutoApiVersions response and what is currently supported by the client.

egracer commented 6 years ago

Updated Versions.fs to find the highest supported API version by both the client and the server. Also rebased on top of latest master.