Skip to content
This repository was archived by the owner on Oct 25, 2024. It is now read-only.

Commit 3f18afa

Browse files
committed
QUIC sample joins conference before creating QUIC transport.
This commit is a preparation for adding QUIC transport to conference SDK.
1 parent 302b79b commit 3f18afa

File tree

2 files changed

+36
-10
lines changed

2 files changed

+36
-10
lines changed

src/samples/conference/public/quic.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ <h2>Sample of QuicTransport</h2>
3434
<div id="conference-status"></div>
3535
<div class="stats">
3636
</div>
37+
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js" type="text/javascript"></script>
38+
<script src="scripts/rest-sample.js" type="text/javascript"></script>
39+
<script src="../../../../dist/sdk-debug/owt.js" type="text/javascript"></script>
3740
<script src="scripts/quic.js" type="text/javascript"></script>
3841
</body>
3942

src/samples/conference/public/scripts/quic.js

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44

55
'use strict';
66

7-
//const conference = new Owt.Conference.ConferenceClient();
8-
let quicTransport=null;
7+
// const conference = new Owt.Conference.ConferenceClient();
8+
let quicTransport = null;
99
let bidirectionalStream = null;
1010
let writeTask;
11+
const conference=new Owt.Conference.ConferenceClient();
1112

1213
function updateConferenceStatus(message) {
1314
document.getElementById('conference-status').innerHTML +=
@@ -16,7 +17,7 @@ function updateConferenceStatus(message) {
1617

1718

1819
function joinConference() {
19-
const host = 'http://' + document.location.hostname + ':3001';
20+
const host = 'http://jianjunz-nuc-ubuntu.sh.intel.com:3001';
2021
return new Promise((resolve, reject) => {
2122
createToken(undefined, 'user', 'presenter', resp => {
2223
conference.join(resp).then(() => {
@@ -27,31 +28,52 @@ function joinConference() {
2728
});
2829
};
2930

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 = () => {
3335
console.log('QuicTransport state changed.');
3436
};
3537
return quicTransport.ready;
3638
}
3739

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+
3849
async function createSendChannel() {
3950
bidirectionalStream = await quicTransport.createSendStream();
4051
updateConferenceStatus('Created send channel.');
4152
}
4253

4354
async function windowOnLoad() {
44-
//await joinConference();
55+
await joinConference();
4556
await createQuicTransport();
4657
await createSendChannel();
4758
}
4859

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+
4971
async function writeData() {
5072
const encoder = new TextEncoder();
5173
const encoded = encoder.encode('message', {stream: true});
5274
const writer = bidirectionalStream.writable.getWriter();
5375
await writer.ready;
54-
await writer.write(new ArrayBuffer(90000000));
76+
await writer.write(new ArrayBuffer(2));
5577
writer.releaseLock();
5678
return;
5779
}
@@ -60,12 +82,13 @@ window.addEventListener('load', () => {
6082
windowOnLoad();
6183
});
6284

63-
document.getElementById('start-sending').addEventListener('click', () => {
85+
document.getElementById('start-sending').addEventListener('click', async () => {
6486
if (!bidirectionalStream) {
6587
updateConferenceStatus('Stream is not created.');
6688
return;
6789
}
68-
writeTask = setInterval(writeData, 500);
90+
await writeUuid();
91+
// writeTask = setInterval(writeData, 500);
6992
updateConferenceStatus('Started sending.');
7093
});
7194

0 commit comments

Comments
 (0)