update readme

This commit is contained in:
GroovieGermanikus 2023-12-20 09:06:06 +01:00
parent ed944a64d5
commit 4b809a8ca7
No known key found for this signature in database
GPG Key ID: 5B6EB831A5CD2015
1 changed files with 21 additions and 6 deletions

View File

@ -1,10 +1,25 @@
## _Fastest Wins Strategy_ using Futures (recommended)
We recommend to use the `grpcmultiplex_fastestwins` implementation based on _Futures_.
You can take the example code from `stream_blocks_mainnet.rs`.
__Reconnects__ will handled transparently in inside the _Futures_.
Multiple _Futures_ are executed in parallel and the first result is returned.
## Solana Geyser gRPC Multiplexing and Reconnect
This project provides multiplexing of multiple [Yellowstone gRPC](https://github.com/rpcpool/yellowstone-grpc) subscriptions based on _Fastest Wins Strategy_.
No __guarantees__ are made about if the messages are continuous or not.
* Multiple _Futures_ get **merged** where the first next block that arrives will be emitted.
* __Reconnects__ are handled transparently inside the _Futures_.
* No __guarantees__ are made about if the messages are continuous or not.
Disclaimer: The library is designed with the needs of
[LiteRPC](https://github.com/blockworks-foundation/lite-rpc) in mind
yet might be useful for other projects as well.
The implementation is based on _Rust Futures_.
Please open an issue if you have any questions or suggestions -> [New Issue](https://github.com/blockworks-foundation/geyser-grpc-connector/issues/new).
## Usage
An example how to use the library is provided in `stream_blocks_mainnet.rs`.
## Known issues
* Library does not support other data than Blocks very well.
* Library needs messages to be in order and provide slot information to work properly.
* The gRPC filtering options are very limited.