aboutsummaryrefslogtreecommitdiff
path: root/server/events.js
blob: e8094d51c3980f7bb60d1220fc6e65932c7c8483 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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,
  });
}

export function removePeer(peerId) {
  return internals.emitter.bind(null, types.REMOVE_PEER, {
    peerId,
  });
}

export function ICECandidateReceived(peerId, candidate) {
  return internals.emitter.bind(null, types.ICE_CANDIDATE_RECEIVED, {
    peerId,
    candidate,
  });
}

export function offerReceived(peerId, offer) {
  return internals.emitter.bind(null, types.OFFER_RECEIVED, {
    peerId,
    offer,
  });
}

export function answerReceived(peerId, answer) {
  return internals.emitter.bind(null, types.ANSWER_RECEIVED, {
    peerId,
    answer,
  });
}