1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 18:29:17 +02:00

Don't rely on lucky timings when sending messages from the provider.

This commit is contained in:
Simo Kinnunen 2014-02-05 15:37:28 +09:00
parent 36d0af71b5
commit 91097dc569
6 changed files with 153 additions and 84 deletions

View file

@ -32,10 +32,20 @@ module.exports = function(options) {
})
devDealer.on('message', wirerouter()
// Initial device message
.on(wire.DevicePresentMessage, function(channel, message, data) {
dbapi.saveDevice(message.serial, message)
appDealer.send([channel, data])
.then(function() {
devDealer.send([
message.provider.channel
, wireutil.envelope(new wire.DeviceRegisteredMessage(
message.serial
))
])
appDealer.send([channel, data])
})
})
// Workerless messages
.on(wire.DeviceAbsentMessage, function(channel, message, data) {
dbapi.setDeviceAbsent(message.serial)
appDealer.send([channel, data])
@ -44,6 +54,17 @@ module.exports = function(options) {
dbapi.saveDeviceStatus(message.serial, message.status)
appDealer.send([channel, data])
})
// Worker initialized
.on(wire.DevicePokeMessage, function(channel, message) {
dbapi.setDeviceChannel(message.serial, message.channel)
.then(function() {
devDealer.send([
message.channel
, wireutil.envelope(new wire.ProbeMessage())
])
})
})
// Worker messages
.on(wire.JoinGroupMessage, function(channel, message, data) {
dbapi.setDeviceOwner(message.serial, message.owner)
appDealer.send([channel, data])
@ -56,12 +77,6 @@ module.exports = function(options) {
dbapi.saveDeviceLog(message.serial, message)
appDealer.send([channel, data])
})
.on(wire.DevicePokeMessage, function(channel, message) {
dbapi.ensureDeviceSaved(message.serial)
.then(function() {
devDealer.send([message.channel, wireutil.makeProbeMessage()])
})
})
.on(wire.DeviceIdentityMessage, function(channel, message, data) {
dbapi.saveDeviceIdentity(message.serial, message)
appDealer.send([channel, data])