@@ -14,6 +14,7 @@ import { Identity } from 'data/identity';
1414import { describeProxy } from 'config' ;
1515import { CausalHistorySyncAgent , TerminalOpsSyncAgent } from 'mesh/agents/state' ;
1616import { Logger , LogLevel } from 'util/logging' ;
17+ import { SlowyString } from '../types/SlowyString' ;
1718
1819describeProxy ( '[SYN] State sync' , ( ) => {
1920 test ( '[SYN01] Gossip agent in small peer group (wrtc)' , async ( done ) => {
@@ -74,6 +75,12 @@ describeProxy('[SYN] State sync', () => {
7475
7576 } , 300000 ) ;
7677
78+ test ( '[SYN11] Causal history agent-based set deep sync in small peer group (wrtc)' , async ( done ) => {
79+
80+ await deepSyncInSmallPeerGroup ( done , 'wrtc' , undefined , undefined , true ) ;
81+
82+ } , 300000 ) ;
83+
7784} ) ;
7885
7986async function gossipInSmallPeerGroup ( done : ( ) => void , network : 'wrtc' | 'ws' | 'mix' = 'wrtc' , basePort ?: number ) {
@@ -435,7 +442,7 @@ async function stagedSyncInSmallPeerGroup(done: () => void, network: 'wrtc'|'ws'
435442 done ( ) ;
436443}
437444
438- async function deepSyncInSmallPeerGroup ( done : ( ) => void , network : 'wrtc' | 'ws' | 'mix' = 'wrtc' , basePort ?: number , useRemoting ?: boolean ) {
445+ async function deepSyncInSmallPeerGroup ( done : ( ) => void , network : 'wrtc' | 'ws' | 'mix' = 'wrtc' , basePort ?: number , useRemoting ?: boolean , useSlowOps ?: boolean ) {
439446
440447 const size = 3 ;
441448
@@ -457,14 +464,22 @@ async function deepSyncInSmallPeerGroup(done: () => void, network: 'wrtc'|'ws'|'
457464 let id = await TestIdentity . getFirstTestIdentity ( ) ;
458465 let kp = await TestIdentity . getFistTestKeyPair ( ) ;
459466
460- let s = new MutableSet < HashedObject > ( ) ;
467+ let s = new MutableSet ( ) ;
461468
462469 s . setAuthor ( id ) ;
463470
471+
472+
473+
464474 await stores [ 0 ] . save ( kp ) ;
465475 await stores [ 0 ] . save ( s ) ;
466476
467- await s . add ( new HashedLiteral ( 'hello' ) ) ;
477+ if ( useSlowOps === true ) {
478+ await s . add ( new SlowyString ( 'hello' ) ) ;
479+ } else {
480+ await s . add ( new HashedLiteral ( 'hello' ) ) ;
481+ }
482+
468483
469484 await stores [ 0 ] . save ( s ) ;
470485
@@ -517,16 +532,28 @@ async function deepSyncInSmallPeerGroup(done: () => void, network: 'wrtc'|'ws'|'
517532 }
518533 }
519534
535+ if ( useSlowOps === true ) {
536+ await s . add ( new SlowyString ( 'my' ) ) ;
537+ await s . add ( new SlowyString ( 'dear' ) ) ;
538+ await s . add ( new SlowyString ( 'friends' ) ) ;
539+ await s . add ( new SlowyString ( 'I' ) ) ;
540+ await s . add ( new SlowyString ( 'have' ) ) ;
541+ await s . add ( new SlowyString ( 'very' ) ) ;
542+ await s . add ( new SlowyString ( 'dearly' ) ) ;
543+ await s . add ( new SlowyString ( 'missed' ) ) ;
544+ await s . add ( new SlowyString ( 'you' ) ) ;
545+ } else {
546+ await s . add ( new HashedLiteral ( 'my' ) ) ;
547+ await s . add ( new HashedLiteral ( 'dear' ) ) ;
548+ await s . add ( new HashedLiteral ( 'friends' ) ) ;
549+ await s . add ( new HashedLiteral ( 'I' ) ) ;
550+ await s . add ( new HashedLiteral ( 'have' ) ) ;
551+ await s . add ( new HashedLiteral ( 'very' ) ) ;
552+ await s . add ( new HashedLiteral ( 'dearly' ) ) ;
553+ await s . add ( new HashedLiteral ( 'missed' ) ) ;
554+ await s . add ( new HashedLiteral ( 'you' ) ) ;
520555
521- await s . add ( new HashedLiteral ( 'my' ) ) ;
522- await s . add ( new HashedLiteral ( 'dear' ) ) ;
523- await s . add ( new HashedLiteral ( 'friends' ) ) ;
524- await s . add ( new HashedLiteral ( 'I' ) ) ;
525- await s . add ( new HashedLiteral ( 'have' ) ) ;
526- await s . add ( new HashedLiteral ( 'very' ) ) ;
527- await s . add ( new HashedLiteral ( 'dearly' ) ) ;
528- await s . add ( new HashedLiteral ( 'missed' ) ) ;
529- await s . add ( new HashedLiteral ( 'you' ) ) ;
556+ }
530557
531558 await stores [ 0 ] . save ( s ) ;
532559
0 commit comments