-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTest.res
128 lines (114 loc) · 3.27 KB
/
Test.res
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
// Test util
type stream
@new external makeStream: unit => stream = "MediaStream"
// Peer
let peerWithNoConfig = Peer.makePeer()
let peerWithConfig = Peer.makePeer(
(),
~config={
debug: 3,
secure: true,
},
)
let peerWithId = Peer.makePeer(~id="some-id", ())
peerWithId->Peer.destroy()
peerWithConfig->Peer.disconnect()
peerWithNoConfig->Peer.reconnect()
let peerId = peerWithConfig->Peer.id
let isPeerDisconnected = peerWithNoConfig->Peer.disconnected
let isPeerDestroyed = peerWithNoConfig->Peer.destroyed
// DataConnection
let connectionWithNoOptions = peerWithId->Peer.connect(~id="another-peer-id", ())
let connectionWithOptions = peerWithConfig->Peer.connect(
~id="another-peer-id",
~options={
reliable: true,
serialization: #binary,
},
(),
)
connectionWithOptions->Peer.DataConnection.send("Hello, world!")
connectionWithNoOptions->Peer.DataConnection.close()
connectionWithOptions->Peer.DataConnection.on(
#"open"(
_ => {
Js.log("Connection opened")
},
),
)
connectionWithNoOptions->Peer.DataConnection.on(
#close(
_ => {
Js.log("Connection closed")
},
),
)
connectionWithOptions->Peer.DataConnection.on(
#data(
data => {
Js.log2("Received data", data)
},
),
)
connectionWithNoOptions->Peer.DataConnection.on(
#error(
error => {
Js.log2("Received error", error)
},
),
)
let dataChannel = connectionWithOptions->Peer.DataConnection.dataChannel
let isConnectionOpen = connectionWithOptions->Peer.DataConnection.isOpen
let metadata = connectionWithNoOptions->Peer.DataConnection.metadata
let peerConnection = connectionWithOptions->Peer.DataConnection.peerConnection
let connectionPeerId = connectionWithNoOptions->Peer.DataConnection.peer
let reliable = connectionWithOptions->Peer.DataConnection.reliable
let serialization = connectionWithOptions->Peer.DataConnection.serialization
let connectionType = connectionWithNoOptions->Peer.DataConnection.type_
let bufferSize = connectionWithOptions->Peer.DataConnection.bufferSize
// MediaConnection
let stream = makeStream()
let mediaConnectionWithNoOptions = peerWithId->Peer.call(~id="another-peer-id", ~stream, ())
let mediaConnectionWithOptions = peerWithConfig->Peer.call(
~id="another-peer-id",
~stream,
~options={
sdpTransform: sdp => sdp,
},
(),
)
mediaConnectionWithOptions->Peer.MediaConnection.on(
#stream(
stream => {
Js.log2("Received stream", stream)
},
),
)
mediaConnectionWithNoOptions->Peer.MediaConnection.on(
#close(
_ => {
Js.log("Connection closed")
},
),
)
mediaConnectionWithOptions->Peer.MediaConnection.on(
#error(
error => {
Js.log2("Received error", error)
},
),
)
mediaConnectionWithNoOptions->Peer.MediaConnection.answer(~stream, ())
mediaConnectionWithOptions->Peer.MediaConnection.answer(
~stream,
~options={
sdpTransform: sdp => sdp,
},
(),
)
mediaConnectionWithNoOptions->Peer.MediaConnection.close()
mediaConnectionWithOptions->Peer.MediaConnection.close()
let isMediaConnectionOpen = mediaConnectionWithOptions->Peer.MediaConnection.isOpen
let mediaMetadata = mediaConnectionWithNoOptions->Peer.MediaConnection.metadata
let mediaPeerId = mediaConnectionWithOptions->Peer.MediaConnection.peer
let mediaType = mediaConnectionWithNoOptions->Peer.MediaConnection.type_