collab-server 0.0.7

Nomad's collab server
Documentation
use common::*;
use tokio::sync::oneshot;

use crate::*;

/// TODO: docs
pub(crate) enum SessionMessage {
    /// A peer wants to join an existing session.
    JoinSession(
        PeerId,
        SessionId,
        oneshot::Sender<Result<PeerSender, InitError>>,
    ),

    /// A peer has left a session.
    PeerLeft(PeerId, SessionId),

    /// A peer wants to start a new session.
    StartSession(
        PeerId,
        oneshot::Sender<(SessionId, PeerSender, PeerReceiver)>,
    ),

    #[cfg(any(test, feature = "__tests"))]
    Ping(oneshot::Sender<()>),

    #[cfg(any(test, feature = "__tests"))]
    Sessions(oneshot::Sender<Sessions>),
}