pub struct MessageBusConfig {Show 15 fields
pub encoding: SerializationEncoding,
pub encoding_market_data: Option<SerializationEncoding>,
pub encoding_builtin: Option<SerializationEncoding>,
pub timestamps_as_iso8601: bool,
pub buffer_interval_ms: Option<u32>,
pub autotrim_mins: Option<u32>,
pub autotrim_maxlen: Option<u32>,
pub use_trader_prefix: bool,
pub use_trader_id: bool,
pub use_instance_id: bool,
pub streams_prefix: String,
pub stream_per_topic: bool,
pub external_streams: Option<Vec<String>>,
pub types_filter: Option<Vec<String>>,
pub heartbeat_interval_secs: Option<u16>,
}Expand description
Configuration for MessageBus instances.
Fields§
§encoding: SerializationEncodingThe default encoding for externally published payloads.
encoding_market_data: Option<SerializationEncoding>The encoding for market data payloads supported by the external bus binary codecs.
encoding_builtin: Option<SerializationEncoding>The encoding for built-in account, portfolio, order, and position payloads.
timestamps_as_iso8601: boolIf timestamps should be persisted as ISO 8601 strings.
If false, then timestamps will be persisted as UNIX nanoseconds.
buffer_interval_ms: Option<u32>The buffer interval (milliseconds) between pipelined/batched transactions. The recommended range if using buffered pipelining is [10, 1000] milliseconds, with a good compromise being 100 milliseconds.
autotrim_mins: Option<u32>The lookback window in minutes for automatic stream trimming. The actual window may extend up to one minute beyond the specified value since streams are trimmed at most once every minute. This feature requires Redis version 6.2 or higher; otherwise, it will result in a command syntax error.
autotrim_maxlen: Option<u32>The approximate maximum number of entries to retain in each stream. Redis may retain slightly more entries than this value to improve trimming performance.
use_trader_prefix: boolIf a ‘trader-’ prefix is used for stream names.
use_trader_id: boolIf the trader’s ID is used for stream names.
use_instance_id: boolIf the trader’s instance ID is used for stream names. Default is false.
streams_prefix: StringThe prefix for externally published stream names.
stream_per_topic: boolIf true, messages will be written to separate streams per topic.
If false, all messages will be written to the same stream.
external_streams: Option<Vec<String>>The external stream keys the message bus will listen to for publishing deserialized message payloads internally.
types_filter: Option<Vec<String>>A list of serializable payload type names not to publish externally.
heartbeat_interval_secs: Option<u16>The heartbeat interval (seconds).
Implementations§
Source§impl MessageBusConfig
impl MessageBusConfig
Sourcepub fn builder() -> MessageBusConfigBuilder
pub fn builder() -> MessageBusConfigBuilder
Create an instance of MessageBusConfig using the builder syntax
Source§impl MessageBusConfig
impl MessageBusConfig
Sourcepub fn validate(&self) -> ConfigResult<()>
pub fn validate(&self) -> ConfigResult<()>
Validates external message bus encoding policy.
§Errors
Returns a ConfigError when the default encoding cannot carry custom payloads, or when
a category override selects an encoding unsupported by any payload type in that category.
Trait Implementations§
Source§impl Clone for MessageBusConfig
impl Clone for MessageBusConfig
Source§fn clone(&self) -> MessageBusConfig
fn clone(&self) -> MessageBusConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MessageBusConfig
impl Debug for MessageBusConfig
Source§impl Default for MessageBusConfig
impl Default for MessageBusConfig
Source§impl<'de> Deserialize<'de> for MessageBusConfigwhere
MessageBusConfig: Default,
impl<'de> Deserialize<'de> for MessageBusConfigwhere
MessageBusConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for MessageBusConfig
Source§impl PartialEq for MessageBusConfig
impl PartialEq for MessageBusConfig
Source§impl Serialize for MessageBusConfig
impl Serialize for MessageBusConfig
impl StructuralPartialEq for MessageBusConfig
Auto Trait Implementations§
impl Freeze for MessageBusConfig
impl RefUnwindSafe for MessageBusConfig
impl Send for MessageBusConfig
impl Sync for MessageBusConfig
impl Unpin for MessageBusConfig
impl UnsafeUnpin for MessageBusConfig
impl UnwindSafe for MessageBusConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.