use std::collections::HashMap;
use liminal::protocol::Frame;
use super::conversation::ConnectionConversation;
use super::services::ConnectionSubscription;
#[derive(Debug, Default)]
pub(super) struct ConnectionProcessState {
pub(super) shutdown_notification_attempted: bool,
pub(super) authenticated: bool,
pub(super) subscriptions: HashMap<u64, ConnectionSubscription>,
pub(super) conversations: HashMap<u64, ConnectionConversation>,
pub(super) delivery_seqs: HashMap<u64, u64>,
pub(super) held_deliveries: HashMap<u64, Frame>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(super) enum ProcessStatus {
Continue,
Close,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub(super) enum FrameAction {
Respond(Frame),
NoResponse,
RespondThenClose(Frame),
Close,
}