4
4
5
5
'use strict' ;
6
6
7
- //const conference = new Owt.Conference.ConferenceClient();
8
- let quicTransport = null ;
7
+ // const conference = new Owt.Conference.ConferenceClient();
8
+ let quicTransport = null ;
9
9
let bidirectionalStream = null ;
10
10
let writeTask ;
11
+ const conference = new Owt . Conference . ConferenceClient ( ) ;
11
12
12
13
function updateConferenceStatus ( message ) {
13
14
document . getElementById ( 'conference-status' ) . innerHTML +=
@@ -16,7 +17,7 @@ function updateConferenceStatus(message) {
16
17
17
18
18
19
function joinConference ( ) {
19
- const host = 'http://' + document . location . hostname + ' :3001';
20
+ const host = 'http://jianjunz-nuc-ubuntu.sh.intel.com :3001' ;
20
21
return new Promise ( ( resolve , reject ) => {
21
22
createToken ( undefined , 'user' , 'presenter' , resp => {
22
23
conference . join ( resp ) . then ( ( ) => {
@@ -27,31 +28,52 @@ function joinConference() {
27
28
} ) ;
28
29
} ;
29
30
30
- function createQuicTransport ( ) {
31
- quicTransport = new QuicTransport ( 'quic-transport://jianjunz-nuc-ubuntu.sh.intel.com:7700/echo' ) ;
32
- quicTransport . onstatechange = ( ) => {
31
+ function createQuicTransport ( ) {
32
+ quicTransport = new QuicTransport (
33
+ 'quic-transport://jianjunz-nuc-ubuntu.sh.intel.com:7700/echo' ) ;
34
+ quicTransport . onstatechange = ( ) => {
33
35
console . log ( 'QuicTransport state changed.' ) ;
34
36
} ;
35
37
return quicTransport . ready ;
36
38
}
37
39
40
+ function createRandomContentSessionId ( ) {
41
+ const length = 16 ;
42
+ const id = new Uint8Array ( length ) ;
43
+ for ( let i = 0 ; i < length ; i ++ ) {
44
+ id [ i ] = Math . random ( ) * 255 ;
45
+ }
46
+ return id ;
47
+ }
48
+
38
49
async function createSendChannel ( ) {
39
50
bidirectionalStream = await quicTransport . createSendStream ( ) ;
40
51
updateConferenceStatus ( 'Created send channel.' ) ;
41
52
}
42
53
43
54
async function windowOnLoad ( ) {
44
- // await joinConference();
55
+ await joinConference ( ) ;
45
56
await createQuicTransport ( ) ;
46
57
await createSendChannel ( ) ;
47
58
}
48
59
60
+ async function writeUuid ( ) {
61
+ const uuid = createRandomContentSessionId ( ) ;
62
+ const encoder = new TextEncoder ( ) ;
63
+ const encoded = encoder . encode ( uuid , { stream : true } ) ;
64
+ const writer = bidirectionalStream . writable . getWriter ( ) ;
65
+ await writer . ready ;
66
+ writer . write ( uuid ) ;
67
+ writer . releaseLock ( ) ;
68
+ return ;
69
+ }
70
+
49
71
async function writeData ( ) {
50
72
const encoder = new TextEncoder ( ) ;
51
73
const encoded = encoder . encode ( 'message' , { stream : true } ) ;
52
74
const writer = bidirectionalStream . writable . getWriter ( ) ;
53
75
await writer . ready ;
54
- await writer . write ( new ArrayBuffer ( 90000000 ) ) ;
76
+ await writer . write ( new ArrayBuffer ( 2 ) ) ;
55
77
writer . releaseLock ( ) ;
56
78
return ;
57
79
}
@@ -60,12 +82,13 @@ window.addEventListener('load', () => {
60
82
windowOnLoad ( ) ;
61
83
} ) ;
62
84
63
- document . getElementById ( 'start-sending' ) . addEventListener ( 'click' , ( ) => {
85
+ document . getElementById ( 'start-sending' ) . addEventListener ( 'click' , async ( ) => {
64
86
if ( ! bidirectionalStream ) {
65
87
updateConferenceStatus ( 'Stream is not created.' ) ;
66
88
return ;
67
89
}
68
- writeTask = setInterval ( writeData , 500 ) ;
90
+ await writeUuid ( ) ;
91
+ // writeTask = setInterval(writeData, 500);
69
92
updateConferenceStatus ( 'Started sending.' ) ;
70
93
} ) ;
71
94
0 commit comments