Przeglądaj źródła

feat(Testing) Add testing options to force a P2P to be initiator/responder

release-8443
Jaya Allamsetty 9 miesięcy temu
rodzic
commit
7de7d9aa22
1 zmienionych plików z 27 dodań i 26 usunięć
  1. 27
    26
      JitsiConference.js

+ 27
- 26
JitsiConference.js Wyświetl plik

@@ -3379,40 +3379,41 @@ JitsiConference.prototype._maybeStartOrStopP2P = function(userLeftEvent) {
3379 3379
     // Start peer to peer session
3380 3380
     if (!this.p2pJingleSession && shouldBeInP2P) {
3381 3381
         const peer = peerCount && peers[0];
3382
-
3383
-
3384 3382
         const myId = this.myUserId();
3385 3383
         const peersId = peer.getId();
3384
+        const jid = peer.getJid();
3386 3385
 
3387
-        if (myId > peersId) {
3388
-            logger.debug(
3389
-                'I\'m the bigger peersId - '
3390
-                + 'the other peer should start P2P', myId, peersId);
3391
-
3392
-            return;
3393
-        } else if (myId === peersId) {
3394
-            logger.error('The same IDs ? ', myId, peersId);
3386
+        // Force initiator or responder mode for testing if option is passed to config.
3387
+        if (this.options.config.testing?.forceInitiator) {
3388
+            logger.debug(`Forcing P2P initiator, will start P2P with: ${jid}`);
3389
+            this._startP2PSession(jid);
3390
+        } else if (this.options.config.testing?.forceResponder) {
3391
+            logger.debug(`Forcing P2P responder, will wait for the other peer ${jid} to start P2P`);
3392
+        } else {
3393
+            if (myId > peersId) {
3394
+                logger.debug('I\'m the bigger peersId - the other peer should start P2P', myId, peersId);
3395 3395
 
3396
-            return;
3397
-        }
3396
+                return;
3397
+            } else if (myId === peersId) {
3398
+                logger.error('The same IDs ? ', myId, peersId);
3398 3399
 
3399
-        const jid = peer.getJid();
3400
+                return;
3401
+            }
3400 3402
 
3401
-        if (userLeftEvent) {
3402
-            if (this.deferredStartP2PTask) {
3403
-                logger.error('Deferred start P2P task\'s been set already!');
3403
+            if (userLeftEvent) {
3404
+                if (this.deferredStartP2PTask) {
3405
+                    logger.error('Deferred start P2P task\'s been set already!');
3404 3406
 
3405
-                return;
3407
+                    return;
3408
+                }
3409
+                logger.info(`Will start P2P with: ${jid} after ${this.backToP2PDelay} seconds...`);
3410
+                this.deferredStartP2PTask = setTimeout(
3411
+                    this._startP2PSession.bind(this, jid),
3412
+                    this.backToP2PDelay * 1000);
3413
+            } else {
3414
+                logger.info(`Will start P2P with: ${jid}`);
3415
+                this._startP2PSession(jid);
3406 3416
             }
3407
-            logger.info(
3408
-                `Will start P2P with: ${jid} after ${
3409
-                    this.backToP2PDelay} seconds...`);
3410
-            this.deferredStartP2PTask = setTimeout(
3411
-                this._startP2PSession.bind(this, jid),
3412
-                this.backToP2PDelay * 1000);
3413
-        } else {
3414
-            logger.info(`Will start P2P with: ${jid}`);
3415
-            this._startP2PSession(jid);
3416 3417
         }
3417 3418
     } else if (this.p2pJingleSession && !shouldBeInP2P) {
3418 3419
         logger.info(`Will stop P2P with: ${this.p2pJingleSession.remoteJid}`);

Ładowanie…
Anuluj
Zapisz