about summary refs log tree commit diff
path: root/assets/src/network/channel/messages/messages.ts
blob: 7eee4a887d68f887de26cdfb79504f8c8c4dd2b4 (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
58
59
60
61
62
63
64
export type AnyMessage = ShareMessage | RequestMessage;

export type EventName = AnyMessage["event_name"];

// Messages for the sharer

export type ShareMessage =
    | NewRequestMessage
    | RequestCancelledMessage
    | ShareAcceptedMessage
    | RequestIceCandidateMessage;

export type NewRequestMessage = {
    event_name: "new_request";
    ip: string;
    location: string;
    client: string;
    token: string;
};

export type RequestCancelledMessage = {
    event_name: "request_cancelled";
    token: string;
};

export type ShareAcceptedMessage = {
    event_name: "share_accepted";
    token: string;
    sdp: string;
    type: RTCSdpType;
};

export type RequestIceCandidateMessage = {
    event_name: "request_ice_candidate";
    token: string;
    candidate: RTCIceCandidateInit;
};

// Messages for the requestor

export type RequestMessage =
    | RequestAcknowledgedMessage
    | RequestAcceptedMessage
    | ShareCancelledMessage
    | ShareIceCandidateMessage;

export type RequestAcknowledgedMessage = {
    event_name: "request_acknowledged";
};

export type RequestAcceptedMessage = {
    event_name: "request_accepted";
    sdp: string;
    type: RTCSdpType;
};

export type ShareCancelledMessage = {
    event_name: "share_cancelled";
};

export type ShareIceCandidateMessage = {
    event_name: "share_ice_candidate";
    candidate: RTCIceCandidateInit;
};