use std::collections::HashMap;
use crate::{
DocumentId, PeerId, UnixTimestamp,
network::{PeerDocState, PeerMetadata},
};
#[derive(Debug, Clone)]
pub(crate) struct EstablishedConnection {
pub(super) remote_peer_id: PeerId,
#[allow(dead_code)]
pub(super) remote_metadata: Option<PeerMetadata>,
#[allow(dead_code)]
pub(super) protocol_version: String,
#[allow(dead_code)]
pub(super) established_at: UnixTimestamp,
pub(super) document_subscriptions: HashMap<DocumentId, PeerDocState>,
}
impl EstablishedConnection {
pub fn remote_peer_id(&self) -> &PeerId {
&self.remote_peer_id
}
pub(crate) fn document_subscriptions(&self) -> &HashMap<DocumentId, PeerDocState> {
&self.document_subscriptions
}
pub fn add_document_subscription(&mut self, document_id: DocumentId) {
self.document_subscriptions
.insert(document_id, PeerDocState::empty());
}
}