@@ -29,14 +29,13 @@ String randomNumeric(int length) =>
29
29
randomString (length, from: NUMERIC_START , to: NUMERIC_END );
30
30
31
31
class Signaling {
32
- String _self_id = randomNumeric ( 6 );
32
+ String _self_id = randomString ( 6 , from : NUMERIC_START , to : NUMERIC_END );
33
33
var _socket;
34
+ var _session_id;
34
35
var _peerConnections = new Map <String , RTCPeerConnection >();
35
- var _data = new Map <int , RTCDataChannel >();
36
+ var _daChannels = new Map <int , RTCDataChannel >();
36
37
var _messageController = new StreamController ();
37
38
Stream _messageStream;
38
- var _session_id;
39
-
40
39
MediaStream _localStream;
41
40
42
41
Map <String , dynamic > _iceServers = {
@@ -79,7 +78,7 @@ class Signaling {
79
78
this ._session_id = sessionId;
80
79
}
81
80
82
- void leave () {
81
+ void bye () {
83
82
_send ('bye' , {
84
83
'session_id' : this ._session_id,
85
84
'from' : this ._self_id,
@@ -172,7 +171,7 @@ class Signaling {
172
171
Map <String , dynamic > data = message;
173
172
var id = data['data' ];
174
173
_peerConnections.remove (id);
175
- _data .remove (id);
174
+ _daChannels .remove (id);
176
175
});
177
176
178
177
onOffer.listen ((message) async {
@@ -250,12 +249,6 @@ class Signaling {
250
249
return stream;
251
250
}
252
251
253
- send (data) {
254
- _data.forEach ((k, d) {
255
- d.send ('text' , data);
256
- });
257
- }
258
-
259
252
_createPeerConnection (id, media) async {
260
253
_localStream = await createStream ();
261
254
RTCPeerConnection pc = await createPeerConnection (_iceServers, _config);
@@ -292,7 +285,7 @@ class Signaling {
292
285
channel.onMessage = (data) {
293
286
_messageController.add ({'type' : 'data' , 'id' : id, 'data' : data});
294
287
};
295
- _data [id] = channel;
288
+ _daChannels [id] = channel;
296
289
}
297
290
298
291
_createDataChannel (id, RTCPeerConnection pc, {label: 'fileTransfer' }) async {
@@ -334,4 +327,22 @@ class Signaling {
334
327
if (_socket != null ) _socket.add (JSON .encode (data));
335
328
print ('send: ' + JSON .encode (data));
336
329
}
330
+
331
+ _handleStatsReport (Timer timer, pc) async {
332
+ if (pc != null ) {
333
+ List <StatsReport > reports = await pc.getStats (null );
334
+ reports.forEach ((report) {
335
+ print ("report => { " );
336
+ print (" id: " + report.id + "," );
337
+ print (" type: " + report.type + "," );
338
+ print (" timestamp: ${report .timestamp }," );
339
+ print (" values => {" );
340
+ report.values.forEach ((key, value) {
341
+ print (" " + key + " : " + value + ", " );
342
+ });
343
+ print (" }" );
344
+ print ("}" );
345
+ });
346
+ }
347
+ }
337
348
}
0 commit comments