pub mod frame;
pub const WEBSOCKET_HEARTBEAT_INTERVAL_MS: u64 = 20_000;
pub const MAX_WRITER_IN_FLIGHT_PAYLOAD_BYTES: usize = 5 * 1024 * 1024;
pub const MAX_WRITER_IN_FLIGHT_RECORDS: usize = 1_024;
use crate::{ClientWriterId, LinkSecret, StreamId};
#[derive(Clone, Debug)]
pub struct WriteSessionOptions {
pub stream_id: StreamId,
pub client_writer_id: ClientWriterId,
pub link_secret: LinkSecret,
pub expected_next_seq_num: Option<u64>,
}
impl WriteSessionOptions {
pub fn new(
stream_id: StreamId,
client_writer_id: ClientWriterId,
link_secret: impl Into<LinkSecret>,
) -> Self {
Self {
stream_id,
client_writer_id,
link_secret: link_secret.into(),
expected_next_seq_num: None,
}
}
pub fn with_expected_next_seq_num(mut self, expected_next_seq_num: u64) -> Self {
self.expected_next_seq_num = Some(expected_next_seq_num);
self
}
}