rpc: add setloglevel and restartsync.

This commit is contained in:
Christopher Jeffrey 2016-10-26 09:55:39 -07:00
parent 001783b759
commit d413afbbf5
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -29,6 +29,7 @@ var Outpoint = require('../primitives/outpoint');
var Output = require('../primitives/output');
var BufferReader = require('../utils/reader');
var TX = require('../primitives/tx');
var Logger = require('../node/logger');
var EventEmitter = require('events').EventEmitter;
var fs;
@ -301,6 +302,10 @@ RPC.prototype.execute = function execute(json) {
return this.getmemory(json.params);
case 'selectwallet':
return this.selectwallet(json.params);
case 'setloglevel':
return this.setloglevel(json.params);
case 'restartsync':
return this.restartsync(json.params);
default:
return Promise.reject(new Error('Method not found: ' + json.method + '.'));
@ -4093,7 +4098,7 @@ RPC.prototype.selectwallet = co(function* selectwallet(args) {
var id, wallet;
if (args.help || args.length !== 1)
return Promise.reject(new RPCError('selectwallet "id"'));
throw new RPCError('selectwallet "id"');
id = toString(args[0]);
wallet = yield this.walletdb.get(id);
@ -4102,8 +4107,38 @@ RPC.prototype.selectwallet = co(function* selectwallet(args) {
throw new RPCError('Wallet not found.');
this.wallet = wallet;
return null;
});
RPC.prototype.setloglevel = function setloglevel(args) {
var name, level;
if (args.help || args.length !== 1)
return Promise.reject(new RPCError('setloglevel "level"'));
name = toString(args[0]);
level = Logger.levels[name];
if (level == null)
return Promise.reject(new RPCError('Bad log level.'));
this.logger.level = level;
return null;
};
RPC.prototype.restartsync = function restartsync(args) {
if (args.help || args.length !== 0)
return Promise.reject(new RPCError('restartsync'));
this.pool.stopSync();
this.chain.synced = false;
this.pool.startSync();
return null;
};
/*
* Helpers
*/