Initial version of multidevice transactions.

This commit is contained in:
Simo Kinnunen
2014-01-23 14:00:15 +09:00
parent 242f6f17de
commit 35ac51795b
5 changed files with 88 additions and 15 deletions

View File

@@ -9,7 +9,6 @@ var wire = require('../wire')
var wireutil = require('../util/wireutil')(wire)
var devutil = require('../util/devutil')
var ChannelManager = require('../wire/channelmanager')
var streamutil = require('../util/streamutil')
module.exports = function(options) {
var log = logger.createLogger('device')
@@ -50,7 +49,7 @@ module.exports = function(options) {
switch (wrapper.type) {
case wire.MessageType.GROUP:
var message = wire.GroupMessage.decode(wrapper.message)
, groupChannel = message.group
, groupChannel = message.channel
if (wireutil.matchesRequirements(identity, message.requirements)) {
channels.register(groupChannel, message.timeout)
log.info('Subscribing to group channel "%s"', groupChannel)
@@ -70,6 +69,7 @@ module.exports = function(options) {
break
case wire.MessageType.SHELL_COMMAND:
var message = wire.ShellCommandMessage.decode(wrapper.message)
log.info('Running shell command "%s"', message.command.join(' '))
adb.shellAsync(options.serial, message.command)
.then(function(stream) {
var resolver = Promise.defer()
@@ -115,7 +115,7 @@ module.exports = function(options) {
log.error('Shell command "%s" failed due to "%s"'
, message.command.join(' '), err.message)
push.send([message.channel,
wire.makeShellCommandFailMessage(options.serial, err.message)])
wire.makeDeviceFailMessage(options.serial, err.message)])
})
break
}