Skip to content

Commit 79e9de6

Browse files
committed
GPII-4218: Add an event relay for changeSettingsReceived messages.
Currently we do not provide any special handling for these messags other than relaying into an event. However, this is a rough in implementation in case we require to wait for or in some other way respond to these confirmations.
1 parent f3b7cad commit 79e9de6

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

src/js/background/wsConnector.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ fluid.defaults("gpii.wsConnector", {
5252
onConnect: null,
5353
onConnectionSucceeded: null,
5454
onError: null,
55-
onSettingsChange: null
55+
onSettingsChange: null,
56+
onSettingsReceived: null
5657
},
5758
listeners: {
5859
"onCreate.connect": "{wsConnector}.connect",
@@ -80,8 +81,11 @@ gpii.wsConnector.messageHandler = function (that, ev) {
8081
}
8182
} else if (msg.type === "onSettingsChanged") {
8283
that.events.onSettingsChange.fire(msg.payload ? msg.payload : undefined);
84+
} else if (msg.type === "changeSettingsReceived") {
85+
// confirms that settings sent back across the socket have been received by the server
86+
that.events.onSettingsReceived.fire(msg.payload);
8387
} else {
84-
fluid.log("Unrecognized event/message");
88+
fluid.log("Unrecognized event/message", msg);
8589
}
8690
};
8791

tests/node/wsConnectorTests.js

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ fluid.defaults("gpii.chrome.tests.wsConnector.server", {
6666
allowClient: {
6767
funcName: "gpii.chrome.tests.wsConnector.server.allowClient",
6868
args: ["{that}", "{arguments}.0"]
69+
},
70+
broadcastMessage: {
71+
funcName: "gpii.chrome.tests.wsConnector.server.broadcastMessage",
72+
args: ["{that}", "{arguments}.0", "{arguments}.1"]
6973
}
7074
},
7175
listeners: {
@@ -81,8 +85,8 @@ fluid.defaults("gpii.chrome.tests.wsConnector.server", {
8185
},
8286
modelListeners: {
8387
"settings": {
84-
funcName: "gpii.chrome.tests.wsConnector.server.broadcastSettings",
85-
args: ["{that}", "{change}.value"],
88+
func: "{that}.broadcastMessage",
89+
args: ["onSettingsChanged", "{change}.value"],
8690
namespace: "broadcastSettings",
8791
excludeSource: ["init"]
8892
}
@@ -136,9 +140,9 @@ gpii.chrome.tests.wsConnector.server.setupClient = function (that, client) {
136140
client.on("message", that.events.onMessage.fire);
137141
};
138142

139-
gpii.chrome.tests.wsConnector.server.broadcastSettings = function (that, settings) {
143+
gpii.chrome.tests.wsConnector.server.broadcastMessage = function (that, type, settings) {
140144
var msg = {
141-
type: "onSettingsChanged",
145+
type: type,
142146
payload: settings
143147
};
144148
if (that.model.clientSocket) {
@@ -287,6 +291,17 @@ fluid.defaults("gpii.chrome.tests.wsConnector.tester", {
287291
listener: "gpii.chrome.tests.wsConnector.checkSettings",
288292
args: ["{arguments}.0"]
289293
}]
294+
}, {
295+
name: "Server sends changeSettingsReceived message",
296+
expect: 1,
297+
sequence: [{
298+
func: "{server}.broadcastMessage",
299+
args: ["changeSettingsReceived", "{that}.options.payloads.test1.settings"]
300+
}, {
301+
event: "{clientOne}.events.onSettingsReceived",
302+
listener: "gpii.chrome.tests.wsConnector.checkSettings",
303+
args: ["{arguments}.0", "{that}.options.payloads.test1.settings"]
304+
}]
290305
}, {
291306
name: "Server disconnects client, client reconnects",
292307
expect: 2,

0 commit comments

Comments
 (0)