X-Git-Url: https://git.r.bdr.sh/rbdr/junction/blobdiff_plain/a69b770cb379354226a8c05be5cbea3e8703803f..8c251a2276b805e32d6c3dcd70637a5079db6d7a:/server/events.js diff --git a/server/events.js b/server/events.js index 062b7c1..e8094d5 100644 --- a/server/events.js +++ b/server/events.js @@ -1,41 +1,57 @@ -function addPeer(peerId, shouldCreateOffer) { - return { - peer_id: peerId, - should_create_offer: shouldCreateOffer, - } +const internals = { + emitter(name, data, socket) { + socket.emit(name, data); + console.debug(`[${name}] ${JSON.stringify(data)}`); + }, +}; + +export const types = { + /* Listened */ + CONNECTION: "connection", + JOIN: "join", + DISCONNECTING: "disconnecting", + RELAY_ICE_CANDIDATE: "relayICECandidate", + RELAY_OFFER: "relayOffer", + RELAY_ANSWER: "relayAnswer", + + /* Emitted */ + ADD_PEER: "addPeer", + REMOVE_PEER: "removePeer", + OFFER_RECEIVED: "offerReceived", + ANSWER_RECEIVED: "answerReceived", + ICE_CANDIDATE_RECEIVED: "ICECandidateReceived", +}; + +export function addPeer(peerId, shouldCreateOffer) { + return internals.emitter.bind(null, types.ADD_PEER, { + peerId, + shouldCreateOffer, + }); } -function removePeer(peerId) { - return { - peer_id: peerId, - } +export function removePeer(peerId) { + return internals.emitter.bind(null, types.REMOVE_PEER, { + peerId, + }); } -function SessionDescriptionReceived(peerId, sessionDescription) { - return { - peer_id: peerId, - session_description: sessionDescription, - } +export function ICECandidateReceived(peerId, candidate) { + return internals.emitter.bind(null, types.ICE_CANDIDATE_RECEIVED, { + peerId, + candidate, + }); } -function ICECandidateReceived(peerId, ICECandidate) { - return { - peer_id: peerId, - ice_candidate: ICECandidate, - } +export function offerReceived(peerId, offer) { + return internals.emitter.bind(null, types.OFFER_RECEIVED, { + peerId, + offer, + }); } -module.exports = { - types: { - ADD_PEER: 'addPeer', - REMOVE_PEER: 'removePeer', - RELAY_SESSION_DESCRIPTION: 'relaySessionDescription', - RELAY_ICE_CANDIDATE: 'relayICECandidate', - ICE_CANDIDATE_RECEIVED: 'ICECandidateReceived', - SESSION_DESCRIPTION_RECEIVED: 'SessionDescriptionReceived', - }, - addPeer, - removePeer, - SessionDescriptionReceived: SessionDescriptionReceived, - ICECandidateReceived: ICECandidateReceived, -} \ No newline at end of file +export function answerReceived(peerId, answer) { + return internals.emitter.bind(null, types.ANSWER_RECEIVED, { + peerId, + answer, + }); +}