gemini_genai_rs/transport/
mod.rs1pub mod auth;
4pub mod builder;
5pub mod codec;
6pub mod connection;
7pub mod flow;
8pub mod ws;
9
10pub use auth::{AuthProvider, GoogleAIAuth, GoogleAITokenAuth, ServiceEndpoint, VertexAIAuth};
11pub use builder::ConnectBuilder;
12pub use codec::{Codec, CodecError, JsonCodec};
13pub use connection::{connect, connect_with};
14pub use flow::{FlowConfig, TokenBucket};
15pub use ws::{MockTransport, MockTransportError, Transport, TungsteniteTransport};
16
17#[derive(Debug, Clone)]
19pub struct TransportConfig {
20 pub send_queue_depth: usize,
22 pub event_channel_capacity: usize,
24 pub connect_timeout_secs: u64,
26 pub setup_timeout_secs: u64,
28 pub max_reconnect_attempts: u32,
30 pub reconnect_base_delay_ms: u32,
32 pub reconnect_max_delay_ms: u32,
34}
35
36impl Default for TransportConfig {
37 fn default() -> Self {
38 Self {
39 send_queue_depth: 256,
40 event_channel_capacity: 512,
41 connect_timeout_secs: 10,
42 setup_timeout_secs: 15,
43 max_reconnect_attempts: 5,
44 reconnect_base_delay_ms: 1000,
45 reconnect_max_delay_ms: 30_000,
46 }
47 }
48}