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 execution 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
Tx
abstraction over different channel kinds, as well as other channel utilities. - collection
- de
- Utilities to assist deserialisation.
- error
- All
Error
s generated in Barter-Integration. - metric
- Contains the flexible
Metric
type used for representing real-time metrics generically. - protocol
- Contains
StreamParser
implementations for transforming communication protocol specific messages into a generic output data structure. - snapshot
- stream
- Stream utilities.
- subscription
- Defines a
SubscriptionId
new type representing a uniqueSmolStr
identifier for a data stream (market data, account data) that has been subscribed to.
Structs§
- Feed
Ended - Indicates an
Iterator
orStream
has ended.
Traits§
- Terminal
- Trait that communicates if something is terminal (eg/ requires shutdown or restart).
- Transformer
Transformer
s are capable of transforming anyInput
into an iterator ofResult<Self::Output, Self::Error>
s.- Unrecoverable
- Determines if something is considered “unrecoverable”, such as an unrecoverable error.
- Validator
Validator
s are capable of determining if their internal state is satisfactory to fulfill some use case defined by the implementor.