UNPKG

memento

Version:

A Paxos backed replicated state machine key-value store.

32 lines (27 loc) 836 B
var cadence = require('cadence') // TODO Wrong package. var logger = require('prolific.logger').createLogger('compassion.colleague') function Inquistor (conference, cliffhanger, nodes) { this.conference = conference this._cliffhanger = cliffhanger this._nodes = nodes } Inquistor.prototype.set = cadence(function (async, set) { async(function () { this.conference.invoke('test', {}, async()) }, function () { logger.info('recorded', { source: 'inquisitor', $set: set }) this.conference.broadcast('set', { cookie: this._cliffhanger.invoke(async()), from: this.conference.id, body: set }) }) }) Inquistor.prototype.get = function (path) { return { action: 'get', node: this._nodes[path] } } module.exports = Inquistor