latest api changes to match the netflux-server refactor
This commit is contained in:
parent
b922860339
commit
06c29ef1d1
17
lib/api.js
17
lib/api.js
@ -1,7 +1,7 @@
|
|||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
const nThen = require("nthen");
|
const nThen = require("nthen");
|
||||||
const WebSocketServer = require('ws').Server;
|
const WebSocketServer = require('ws').Server;
|
||||||
const NetfluxSrv = require('chainpad-server/NetfluxWebsocketSrv');
|
const NetfluxSrv = require('chainpad-server');
|
||||||
|
|
||||||
module.exports.create = function (config) {
|
module.exports.create = function (config) {
|
||||||
var rpc;
|
var rpc;
|
||||||
@ -48,10 +48,19 @@ module.exports.create = function (config) {
|
|||||||
store: config.store,
|
store: config.store,
|
||||||
log: log,
|
log: log,
|
||||||
};
|
};
|
||||||
// XXX historyKeeper exports a `setConfig` method
|
|
||||||
|
|
||||||
var wsSrv = new WebSocketServer(wsConfig);
|
|
||||||
var historyKeeper = HK.create(hkConfig);
|
var historyKeeper = HK.create(hkConfig);
|
||||||
NetfluxSrv.run(wsSrv, config, historyKeeper);
|
|
||||||
|
NetfluxSrv.create(new WebSocketServer(wsConfig))
|
||||||
|
.on('channelClose', historyKeeper.channelClose)
|
||||||
|
.on('channelMessage', historyKeeper.channelMessage)
|
||||||
|
.on('channelOpen', historyKeeper.channelOpen)
|
||||||
|
.on('sessionClose', function (userId, reason) {
|
||||||
|
reason = reason; // XXX
|
||||||
|
})
|
||||||
|
.on('error', function (error, label, info) {
|
||||||
|
info = info; // XXX
|
||||||
|
})
|
||||||
|
.register(historyKeeper.id, historyKeeper.directMessage);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@ -976,25 +976,24 @@ module.exports.create = function (cfg) {
|
|||||||
command(ctx, seq, user, parsed);
|
command(ctx, seq, user, parsed);
|
||||||
};
|
};
|
||||||
|
|
||||||
// XXX every one of these values is exported because
|
|
||||||
// netfluxWebsocketServer needs them to do some magic historyKeeper things
|
|
||||||
// we could have netflux emit events and let historyKeeper handle them instead
|
|
||||||
return {
|
return {
|
||||||
id: HISTORY_KEEPER_ID,
|
id: HISTORY_KEEPER_ID,
|
||||||
|
channelMessage: function (ctx, channel, msgStruct) {
|
||||||
// XXX dropChannel allows netflux to clear historyKeeper's cache
|
onChannelMessage(ctx, channel, msgStruct);
|
||||||
// maybe it should emit a 'channel_dropped' event instead
|
},
|
||||||
// and let historyKeeper decide what to do
|
channelClose: function (channelName) {
|
||||||
dropChannel: dropChannel,
|
dropChannel(channelName);
|
||||||
|
},
|
||||||
// XXX we don't need to export checkExpired if netflux allows it to be HK's responsibility
|
channelOpen: function (ctx, channelName, user) {
|
||||||
checkExpired: checkExpired,
|
ctx.sendMsg(ctx, user, [
|
||||||
|
0,
|
||||||
// XXX again, if netflux emitted events then historyKeeper could handle them itself
|
HISTORY_KEEPER_ID, // ctx.historyKeeper.id
|
||||||
// and netflux wouldn't need to have historyKeeper-specific code
|
'JOIN',
|
||||||
onDirectMessage: onDirectMessage,
|
channelName
|
||||||
|
]);
|
||||||
// XXX same
|
},
|
||||||
onChannelMessage: onChannelMessage,
|
directMessage: function (ctx, seq, user, json) {
|
||||||
|
onDirectMessage(ctx, seq, user, json);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user