From 1bbdd4c14c871ee8d7bbbd61c3dca9c3e1b0fd6c Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Wed, 8 Apr 2015 15:02:33 -0300 Subject: [PATCH] sample server --- lib/lock.js | 17 ++++++++++++++++- lib/storage.js | 38 +++++++++++++++++++------------------- locker-server.js | 6 ++++++ package.json | 1 + 4 files changed, 42 insertions(+), 20 deletions(-) create mode 100644 locker-server.js diff --git a/lib/lock.js b/lib/lock.js index f5435df..0c91456 100644 --- a/lib/lock.js +++ b/lib/lock.js @@ -1,10 +1,25 @@ var $ = require('preconditions').singleton(); var _ = require('lodash'); +var log = require('npmlog'); +log.debug = log.verbose; + var LocalLock = require('./locallock'); var RemoteLock = require('locker'); function Lock(opts) { - this.lock = new LocalLock(); + opts = opts || {}; + if (opts.lockerServer) { + this.lock = new RemoteLock(opts.lockerServer.port, opts.lockerServer.host); + + this.lock.on('reset', function() { + log.debug('Locker server reset'); + }); + this.lock.on('error', function(error) { + log.error('Locker server threw error', error); + }); + } else { + this.lock = new LocalLock(); + } }; Lock.prototype.runLocked = function(token, cb, task) { diff --git a/lib/storage.js b/lib/storage.js index 32583c8..e595b7d 100644 --- a/lib/storage.js +++ b/lib/storage.js @@ -147,9 +147,9 @@ Storage.prototype.fetchPendingTxs = function(walletId, cb) { var txs = []; var key = KEY.PENDING_TXP(walletId); this.db.createReadStream({ - gte: key, - lt: key + '~' - }) + gte: key, + lt: key + '~' + }) .on('data', function(data) { txs.push(TxProposal.fromObj(data.value)); }) @@ -183,11 +183,11 @@ Storage.prototype.fetchTxs = function(walletId, opts, cb) { var endkey = KEY.TXP(walletId, opts.maxTs); this.db.createReadStream({ - gt: key, - lt: endkey + '~', - reverse: true, - limit: opts.limit, - }) + gt: key, + lt: endkey + '~', + reverse: true, + limit: opts.limit, + }) .on('data', function(data) { txs.push(TxProposal.fromObj(data.value)); }) @@ -220,11 +220,11 @@ Storage.prototype.fetchNotifications = function(walletId, opts, cb) { var endkey = KEY.NOTIFICATION(walletId, opts.maxTs); this.db.createReadStream({ - gt: key, - lt: endkey + '~', - reverse: opts.reverse, - limit: opts.limit, - }) + gt: key, + lt: endkey + '~', + reverse: opts.reverse, + limit: opts.limit, + }) .on('data', function(data) { txs.push(Notification.fromObj(data.value)); }) @@ -284,9 +284,9 @@ Storage.prototype._delByKey = function(key, cb) { var self = this; var keys = []; this.db.createKeyStream({ - gte: key, - lt: key + '~', - }) + gte: key, + lt: key + '~', + }) .on('data', function(key) { keys.push(key); }) @@ -341,9 +341,9 @@ Storage.prototype.fetchAddresses = function(walletId, cb) { var addresses = []; var key = KEY.ADDRESS(walletId); this.db.createReadStream({ - gte: key, - lt: key + '~' - }) + gte: key, + lt: key + '~' + }) .on('data', function(data) { addresses.push(Address.fromObj(data.value)); }) diff --git a/locker-server.js b/locker-server.js new file mode 100644 index 0000000..4610684 --- /dev/null +++ b/locker-server.js @@ -0,0 +1,6 @@ +(function() { + var Locker = require('locker-server'), + locker = new Locker(); + + locker.listen(3003); +})(); diff --git a/package.json b/package.json index eeb3e79..7f25b9b 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "leveldown": "^0.10.0", "levelup": "^0.19.0", "locker": "^0.1.0", + "locker-server": "^0.1.3", "lodash": "^3.3.1", "mocha-lcov-reporter": "0.0.1", "morgan": "*",