#client #stream #pubsub #queue

liftbridge

Liftbridge client for rust

3 releases

0.1.2 Aug 21, 2020
0.1.1 Aug 15, 2020
0.1.0 Aug 15, 2020

#59 in #pubsub

Apache-2.0

29KB
566 lines

liftbridge-rs

crates.io

Liftbridge client for Rust language.

Protobuf definitions

Currently protobuf definitions are copied from the liftbridge-api
repo and their rust representation is generated on build and auto-included.

The current state of the client and roadmap

The client currently supports most of the operations, but it does not support some advanced options
like a custom partitioner and different ack policies. Therefore the api is subject to change as this
functionality gets implemented.

There are a lot of optimizations that could be done in terms of extra allocations, this is coming in future
versions.

Also, the documentation is pretty much non-existent at the moment and so are the tests. The client api pretty much follows that of go client,
which would be a good place to consult should you need any guidance in terms of usage for the time being.

Note that the underlying ApiClient is being cloned - this has been done on purpose as it's cheap,
because the underlying connection is being reused for all the cloned versions of the client.
The related tonic issue that explains the reasoning behind this can be found here.

Credits

The initial work on this client was generously sponsored by Tribe Health Solutions Inc..

Dependencies

~12MB
~201K SLoC