use crate::{MsgPayload, PeerID, Scheduled, SignalingPayload, UserMsgPayload, handshake::HandshakeOutput};
#[derive(Debug, Clone)]
pub enum Output<Msg: UserMsgPayload> {
Handshake {
peer: PeerID,
event: HandshakeOutput,
},
InitOpenOffer,
OfferReady(SignalingPayload),
AnswerReady(SignalingPayload),
SendMessage {
peer_to: PeerID,
data: MsgPayload<Msg>,
},
ReceiveMessage {
peer_from: PeerID,
data: MsgPayload<Msg>,
},
PeerConnected { peer: PeerID },
PeerDisconnected { peer: PeerID },
PeerLost { peer: PeerID },
Available,
Unavailable,
Disconnecting,
ScheduleTimer { kind: Scheduled, after_ms: u64 },
}