Only track devices when we need to.

This commit is contained in:
Simo Kinnunen
2014-02-27 15:04:57 +09:00
parent 615088edcd
commit 2692f71219
4 changed files with 102 additions and 69 deletions

View File

@@ -237,23 +237,32 @@ module.exports = function(options) {
}
var messageListener = wirerouter()
.on(wire.JoinGroupMessage, function(channel, message) {
socket.emit('group.join', message)
})
.on(wire.LeaveGroupMessage, function(channel, message) {
socket.emit('group.leave', message)
})
.on(wire.DevicePresentMessage, function(channel, message) {
socket.emit('device.present', message)
socket.emit('device.add', {
serial: message.serial
, present: true
})
})
.on(wire.DeviceAbsentMessage, function(channel, message) {
socket.emit('device.absent', message)
socket.emit('device.remove', {
serial: message.serial
, present: false
})
})
.on(wire.JoinGroupMessage, function(channel, message) {
socket.emit('device.change', message)
})
.on(wire.LeaveGroupMessage, function(channel, message) {
socket.emit('device.change', {
serial: message.serial
, owner: null
})
})
.on(wire.DeviceStatusMessage, function(channel, message) {
socket.emit('device.status', message)
socket.emit('device.change', message)
})
.on(wire.DeviceIdentityMessage, function(channel, message) {
socket.emit('device.identity', message)
socket.emit('device.change', message)
})
.on(wire.TransactionProgressMessage, function(channel, message) {
socket.emit('tx.progress', channel.toString(), message)