mirror of
https://github.com/DeviceFarmer/stf.git
synced 2026-04-19 01:53:27 +02:00
Get rid of switch statements in favor of an EventEmitter-based router for message handling.
This commit is contained in:
@@ -6,6 +6,7 @@ var zmq = require('zmq')
|
||||
|
||||
var logger = require('../../util/logger')
|
||||
var wire = require('../../wire')
|
||||
var wirerouter = require('../../wire/router')
|
||||
var wireutil = require('../../util/wireutil')(wire)
|
||||
|
||||
module.exports = function(options) {
|
||||
@@ -27,19 +28,15 @@ module.exports = function(options) {
|
||||
sub.subscribe(channel)
|
||||
})
|
||||
|
||||
sub.on('message', function(channel, data) {
|
||||
var wrapper = wire.Envelope.decode(data)
|
||||
switch (wrapper.type) {
|
||||
case wire.MessageType.DEVICE_LOG:
|
||||
var message = wire.DeviceLogMessage.decode(wrapper.message)
|
||||
if (message.priority >= options.priority) {
|
||||
buffer.push(message)
|
||||
clearTimeout(timer)
|
||||
timer = setTimeout(push, 1000)
|
||||
}
|
||||
break
|
||||
}
|
||||
})
|
||||
sub.on('message', wirerouter()
|
||||
.on(wire.MessageType.DeviceLogMessage, function(channel, message) {
|
||||
if (message.priority >= options.priority) {
|
||||
buffer.push(message)
|
||||
clearTimeout(timer)
|
||||
timer = setTimeout(push, 1000)
|
||||
}
|
||||
})
|
||||
.handler())
|
||||
|
||||
function push() {
|
||||
var messages = buffer.splice(0).map(function(entry) {
|
||||
|
||||
Reference in New Issue
Block a user