sol_parser_sdk/shredstream/
config.rs1#[derive(Clone)]
5pub struct ShredStreamConfig {
6 pub auth_token: Option<String>,
9 pub connection_timeout_ms: u64,
11 pub request_timeout_ms: u64,
13 pub max_decoding_message_size: usize,
15 pub reconnect_delay_ms: u64,
17 pub max_reconnect_attempts: u32,
19}
20
21impl std::fmt::Debug for ShredStreamConfig {
22 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
23 f.debug_struct("ShredStreamConfig")
24 .field("auth_token", &self.auth_token.as_ref().map(|_| "[REDACTED]"))
25 .field("connection_timeout_ms", &self.connection_timeout_ms)
26 .field("request_timeout_ms", &self.request_timeout_ms)
27 .field("max_decoding_message_size", &self.max_decoding_message_size)
28 .field("reconnect_delay_ms", &self.reconnect_delay_ms)
29 .field("max_reconnect_attempts", &self.max_reconnect_attempts)
30 .finish()
31 }
32}
33
34impl Default for ShredStreamConfig {
35 fn default() -> Self {
36 Self {
37 auth_token: None,
38 connection_timeout_ms: 8000,
39 request_timeout_ms: 15000,
40 max_decoding_message_size: 1024 * 1024 * 100, reconnect_delay_ms: 1000,
42 max_reconnect_attempts: 3,
43 }
44 }
45}
46
47impl ShredStreamConfig {
48 pub fn low_latency() -> Self {
50 Self {
51 auth_token: None,
52 connection_timeout_ms: 5000,
53 request_timeout_ms: 10000,
54 max_decoding_message_size: 1024 * 1024 * 50,
55 reconnect_delay_ms: 100,
56 max_reconnect_attempts: 1,
57 }
58 }
59
60 pub fn high_throughput() -> Self {
62 Self {
63 auth_token: None,
64 connection_timeout_ms: 10000,
65 request_timeout_ms: 30000,
66 max_decoding_message_size: 1024 * 1024 * 200,
67 reconnect_delay_ms: 2000,
68 max_reconnect_attempts: 5,
69 }
70 }
71}