From bbf5e394082633fd30ecb48bfd3b49735eb5af50 Mon Sep 17 00:00:00 2001 From: Kevin Jahns Date: Fri, 30 Jun 2017 14:07:14 -0700 Subject: [PATCH] implemented client-server model (untested) --- tests-lib/test-connector.js | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/tests-lib/test-connector.js b/tests-lib/test-connector.js index d75c2591..99b97bd1 100644 --- a/tests-lib/test-connector.js +++ b/tests-lib/test-connector.js @@ -14,8 +14,11 @@ export class TestRoom { connector.setUserId('' + (this.nextUserId++)) } Object.keys(this.users).forEach(uid => { - this.users[uid].userJoined(connector.userId, connector.role) - connector.userJoined(uid, this.users[uid].role) + let user = this.users[uid] + if (user.role === 'master') { + this.users[uid].userJoined(connector.userId, connector.role) + connector.userJoined(uid, this.users[uid].role) + } }) this.users[connector.userId] = connector } @@ -73,6 +76,7 @@ export default function extendTestConnector (Y) { this.chance = options.chance this.testRoom = getTestRoom(this.room) this.testRoom.join(this) + this.forwardAppliedOperations = this.role === 'master' } disconnect () { this.testRoom.leave(this) @@ -128,13 +132,14 @@ export default function extendTestConnector (Y) { var finished = [] for (let i = 0; i < flushUsers.length; i++) { let userId = flushUsers[i].connector.userId - if (userId === this.userId) continue - let buffer = this.connections[userId].buffer - if (buffer != null) { - var messages = buffer.splice(0) - for (let j = 0; j < messages.length; j++) { - let p = super.receiveMessage(userId, messages[j]) - finished.push(p) + if (userId !== this.userId && this.connections[userId] != null) { + let buffer = this.connections[userId].buffer + if (buffer != null) { + var messages = buffer.splice(0) + for (let j = 0; j < messages.length; j++) { + let p = super.receiveMessage(userId, messages[j]) + finished.push(p) + } } } }