use serde::{Deserialize, Serialize};
fn default_batch_size() -> usize {
100
}
fn default_batch_wait_ms() -> u64 {
100
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct PlatformReactionConfig {
pub redis_url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub pubsub_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_stream_length: Option<usize>,
#[serde(default)]
pub emit_control_events: bool,
#[serde(default)]
pub batch_enabled: bool,
#[serde(default = "default_batch_size")]
pub batch_max_size: usize,
#[serde(default = "default_batch_wait_ms")]
pub batch_max_wait_ms: u64,
}