Expand description
§Barter-Integration
High-performance, low-level framework for composing flexible web integrations.
Utilised by other Barter trading ecosystem crates to build robust financial exchange integrations, primarily for public data collection & trade execution. It is:
- Low-Level: Translates raw data streams communicated over the web into any desired data model using arbitrary data transformations.
- Flexible: Compatible with any protocol (WebSocket, FIX, Http, etc.), any input/output model, and any user defined transformations.
§Core abstractions:
- RestClient providing configurable signed Http communication between client & server.
- ExchangeStream providing configurable communication over any asynchronous stream protocols (WebSocket, FIX, etc.).
Both core abstractions provide the robust glue you need to conveniently translate between server & client data models.
Modules§
- channel
- Defines a trait
Txabstraction over different channel kinds, as well as other channel utilities. - de
- Utilities to assist deserialisation.
- error
- All
Errors generated in Barter-Integration. - metric
- Contains the flexible
Metrictype used for representing real-time metrics generically. - protocol
- Contains
StreamParserimplementations for transforming communication protocol specific messages into a generic output data structure. - subscription
- Defines a
SubscriptionIdnew type representing a uniqueSmolStridentifier for a data stream (market data, account data) that has been subscribed to.
Structs§
- Exchange
Stream - An
ExchangeStreamis a communication protocol agnosticStream. It polls protocol messages from the innerStream, and transforms them into the desired output data structure.
Enums§
Traits§
- Transformer
Transformers are capable of transforming anyInputinto an iterator ofResult<Self::Output, Self::Error>s.- Validator
Validators are capable of determining if their internal state is satisfactory to fulfill some use case defined by the implementor.