Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 1.77 KB

README.md

File metadata and controls

56 lines (41 loc) · 1.77 KB

Kafka Ada

This project offers Ada bindings for the C librdkafka library. You can use it to send and receive from a Kafka bus from Ada. Currently work in progress, it does not offer all functionalities of librdkafka yet. If what you are looking for is simply producing data onto a kafka bus or consuming data, this library likely already supports the features you need.

Supported functionalities:

  • Basic error handling
  • Kafka handle creation and destruction
  • Topic handling
  • Message handling
  • Basic producer functionalities
  • Basic consumer functionalities
  • Kafka configuration
  • Topic configuration

Not yet supported:

  • Retrieving debug contexts
  • Advanced error handling (Description, fatal errors, retriable errors etc.)
  • Partition handling
  • Message headers
  • Message status
  • Event sourcing and event handling
  • Callbacks
  • Broker handling
  • Broker metadata
  • Queue consumer
  • Batch consumer
  • Atomic assignment of partitions
  • Kafka logging
  • Topic creation and deletion and other admin operations
  • Various other advanced functionalities offered by librdkafka

If you need some of those not supported features, feel free to open a pull request.

Building and installing from source

To install this library on your system, run the following command:

gprbuild -p kafkaada.gpr
sudo gprinstall -p -f kafkaada.gpr

Note: You need to have librdkafka already installed.

Usage

See the examples/ folder for code examples showcasing a basic consumer and a basic producer using Kafka Ada.

You can use the -t (or --topic) argument to change the name of the Kafka Topic when using either example.

Latence Technologies

This Ada binding is offered by LatenceTech, a Montreal based startup specialized in low-latency optimization. Our website is https://latencetech.com/