From 100280db5a95b87c78c3d1a7752d94e0d9cbe551 Mon Sep 17 00:00:00 2001 From: Simo Kinnunen Date: Tue, 14 Oct 2014 16:24:18 +0900 Subject: [PATCH] Give forward plugin its own folder. Should make it easier to clean it up. --- .../plugins/{forward.js => forward/index.js} | 28 +++++----- .../device/plugins/forward/util/reader.js} | 51 ++----------------- .../device/plugins/forward/util/writer.js | 45 ++++++++++++++++ 3 files changed, 65 insertions(+), 59 deletions(-) rename lib/units/device/plugins/{forward.js => forward/index.js} (91%) rename lib/{util/forwardutil.js => units/device/plugins/forward/util/reader.js} (61%) create mode 100644 lib/units/device/plugins/forward/util/writer.js diff --git a/lib/units/device/plugins/forward.js b/lib/units/device/plugins/forward/index.js similarity index 91% rename from lib/units/device/plugins/forward.js rename to lib/units/device/plugins/forward/index.js index 698470a4..ab844127 100644 --- a/lib/units/device/plugins/forward.js +++ b/lib/units/device/plugins/forward/index.js @@ -3,19 +3,21 @@ var net = require('net') var Promise = require('bluebird') var syrup = require('syrup') -var wire = require('../../../wire') -var logger = require('../../../util/logger') -var lifecycle = require('../../../util/lifecycle') -var streamutil = require('../../../util/streamutil') -var forwardutil = require('../../../util/forwardutil') -var wireutil = require('../../../wire/util') +var wire = require('../../../../wire') +var logger = require('../../../../util/logger') +var lifecycle = require('../../../../util/lifecycle') +var streamutil = require('../../../../util/streamutil') +var wireutil = require('../../../../wire/util') + +var ForwardReader = require('./util/reader') +var ForwardWriter = require('./util/writer') module.exports = syrup.serial() - .dependency(require('../support/adb')) - .dependency(require('../support/router')) - .dependency(require('../support/push')) - .dependency(require('../resources/minirev')) - .dependency(require('./group')) + .dependency(require('../../support/adb')) + .dependency(require('../../support/router')) + .dependency(require('../../support/push')) + .dependency(require('../../resources/minirev')) + .dependency(require('../group')) .define(function(options, adb, router, push, minirev, group) { var log = logger.createLogger('device:plugins:forward') var plugin = Object.create(null) @@ -42,7 +44,7 @@ module.exports = syrup.serial() conn.removeListener('end', killListeners) } - var src = new forwardutil.ForwardWriter(fd) + var src = new ForwardWriter(fd) .on('readable', maybeSend) .on('error', function(err) { log.error('Proxy writer %d had an error', fd, to, err.stack) @@ -67,7 +69,7 @@ module.exports = syrup.serial() } } - conn.pipe(new forwardutil.ForwardParser()) + conn.pipe(new ForwardReader()) .on('packet', function(fd, packet) { var proxy = proxies[fd] diff --git a/lib/util/forwardutil.js b/lib/units/device/plugins/forward/util/reader.js similarity index 61% rename from lib/util/forwardutil.js rename to lib/units/device/plugins/forward/util/reader.js index b6f7711a..411069f5 100644 --- a/lib/util/forwardutil.js +++ b/lib/units/device/plugins/forward/util/reader.js @@ -2,18 +2,17 @@ var util = require('util') var stream = require('stream') var HEADER_SIZE = 4 -var MAX_PACKET_SIZE = 0xFFFF -function ForwardParser() { +function ForwardReader() { stream.Transform.call(this) - this._header = new Buffer(4) + this._header = new Buffer(HEADER_SIZE) this._needLength = -HEADER_SIZE this._target = 0 } -util.inherits(ForwardParser, stream.Transform) +util.inherits(ForwardReader, stream.Transform) -ForwardParser.prototype._transform = function(chunk, encoding, done) { +ForwardReader.prototype._transform = function(chunk, encoding, done) { var cursor = 0 while (cursor < chunk.length) { @@ -73,44 +72,4 @@ ForwardParser.prototype._transform = function(chunk, encoding, done) { done() } -module.exports.ForwardParser = ForwardParser - -function ForwardWriter(target) { - stream.Transform.call(this) - this._target = target -} - -util.inherits(ForwardWriter, stream.Transform) - -ForwardWriter.prototype._transform = function(chunk, encoding, done) { - var header - , length - - do { - length = Math.min(MAX_PACKET_SIZE, chunk.length) - - header = new Buffer(HEADER_SIZE) - header.writeUInt16LE(this._target, 0) - header.writeUInt16LE(length, 2) - - this.push(header) - this.push(chunk.slice(0, length)) - - chunk = chunk.slice(length) - } - while (chunk.length) - - done() -} - -ForwardWriter.prototype._flush = function(done) { - var header = new Buffer(HEADER_SIZE) - header.writeUInt16LE(this._target, 0) - header.writeUInt16LE(0, 2) - - this.push(header) - - done() -} - -module.exports.ForwardWriter = ForwardWriter +module.exports = ForwardReader diff --git a/lib/units/device/plugins/forward/util/writer.js b/lib/units/device/plugins/forward/util/writer.js new file mode 100644 index 00000000..b6a01c7d --- /dev/null +++ b/lib/units/device/plugins/forward/util/writer.js @@ -0,0 +1,45 @@ +var util = require('util') +var stream = require('stream') + +var HEADER_SIZE = 4 +var MAX_PACKET_SIZE = 0xFFFF + +function ForwardWriter(target) { + stream.Transform.call(this) + this._target = target +} + +util.inherits(ForwardWriter, stream.Transform) + +ForwardWriter.prototype._transform = function(chunk, encoding, done) { + var header + , length + + do { + length = Math.min(MAX_PACKET_SIZE, chunk.length) + + header = new Buffer(HEADER_SIZE) + header.writeUInt16LE(this._target, 0) + header.writeUInt16LE(length, 2) + + this.push(header) + this.push(chunk.slice(0, length)) + + chunk = chunk.slice(length) + } + while (chunk.length) + + done() +} + +ForwardWriter.prototype._flush = function(done) { + var header = new Buffer(HEADER_SIZE) + header.writeUInt16LE(this._target, 0) + header.writeUInt16LE(0, 2) + + this.push(header) + + done() +} + +module.exports = ForwardWriter