Liking cljdoc? Tell your friends :D
Clojure only.

franzy.clients.consumer.results

Kafka result set (ConsumerRecords) implementations.

Kafka result set (ConsumerRecords) implementations.
raw docstring

consumer-recordsclj

(consumer-records records)

Implementation of a Kafka result set. As Kafka result sets are stateful and provide various behaviors as well as shapes of information, it is not suitable for many advanced clients to receive only maps as results.

This implementation guarantees the following:

  • Lazy/Non-lazy chunked/unchunked access to results from Kafka, with optional transducers applied without excessive intermediate objects.
  • Full fidelity of the results returned from Kafka (by topic, partition, all, record count, and future additions from the Java side). Nothing lost, much gained.
  • Ability to slice records via transducer or by calling built-in functions to slice on topic or topic partition.
  • Preservation of the result type from Kafka. No inadvetent consumption of iterators or eagerly realizing things if not desired.
  • Ability of sequence operations to be applied to result set via Seqable, and return only Clojure types consistent with the rest of the API.
  • Ability to reduce the result set itself in a high performance way via IReduceInit, and return only Clojure types consistent with the rest of the API.
  • Frees client implementations, testing, etc. from dealing wtih this behavior - no complecting the client implementation with handling the result set behavior.
Implementation of a Kafka result set.
As Kafka result sets are stateful and provide various behaviors as well as shapes of information, it is not suitable for many advanced clients to receive only maps as results.

This implementation guarantees the following:

* Lazy/Non-lazy chunked/unchunked access to results from Kafka, with optional transducers applied without excessive intermediate objects.
* Full fidelity of the results returned from Kafka (by topic, partition, all, record count, and future additions from the Java side). Nothing lost, much gained.
* Ability to slice records via transducer or by calling built-in functions to slice on topic or topic partition.
* Preservation of the result type from Kafka. No inadvetent consumption of iterators or eagerly realizing things if not desired.
* Ability of sequence operations to be applied to result set via Seqable, and return only Clojure types consistent with the rest of the API.
* Ability to reduce the result set itself in a high performance way via IReduceInit, and return only Clojure types consistent with the rest of the API.
* Frees client implementations, testing, etc. from dealing wtih this behavior - no complecting the client implementation with handling the result set behavior.
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close