Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 1x 1x 1x 44x 44x 44x 44x 44x 108x 108x 108x 108x 44x 44x 44x 44x 44x 44x 44x 44x 108x 108x 108x 108x 44x 44x 44x 44x 22x 22x 22x 22x 22x 22x 22x 22x 44x | import { Subject } from "rxjs";
import { RPCChannel } from "./channel";
export class TestChannel implements RPCChannel {
private _received = new Subject<string>();
get received() { return this._received.asObservable(); }
send(message: string) {
setTimeout(() => {
this.otherChannel.receive(message);
}, this.sendDelay);
}
/**
* How long do you want messages received to be delayed by.
*/
receiveDelay = 0;
sendDelay = 0;
private receive(message: string) {
setTimeout(() => {
this._received.next(message);
}, this.receiveDelay);
}
private otherChannel: TestChannel;
static makePair(): [ TestChannel, TestChannel ] {
let a = new TestChannel();
let b = new TestChannel();
a.otherChannel = b;
b.otherChannel = a;
return [a, b];
}
}
|