diff --git a/app/controllers/webmin.controller.js b/app/controllers/webmin.controller.js index e35ad76c3ac458ad721915c0310b80b1e77e6c8d..04d85bad7790b06419497f51ff70c2aab6a73467 100644 --- a/app/controllers/webmin.controller.js +++ b/app/controllers/webmin.controller.js @@ -19,7 +19,6 @@ let bma = require('../lib/streams/bma'); let Identity = require('../lib/entity/identity'); let network = require('../lib/network'); let AbstractController = require('../controllers/abstract'); -var multicaster = require('../lib/streams/multicaster'); var logger = require('../lib/logger')('webmin'); module.exports = (dbConf, overConf) => { @@ -49,13 +48,7 @@ function WebAdmin (dbConf, overConf) { yield pluggedConfP; // Routing documents - server - // The router asks for multicasting of documents - .pipe(server.router()) - // The documents get sent to peers - .pipe(multicaster(server.conf)) - // The multicaster may answer 'unreachable peer' - .pipe(server.router()); + server.routing(); return plugForDAL(); }); diff --git a/index.js b/index.js index d8e001ba1ebb509acaa0bb0fec93bd11cccd2341..16e2bb4ca898a34ee8cfbf4de905d1b381226fc9 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,6 @@ var Server = require('./server'); var bma = require('./app/lib/streams/bma'); var webmin = require('./app/lib/streams/webmin'); var upnp = require('./app/lib/upnp'); -var multicaster = require('./app/lib/streams/multicaster'); var logger = require('./app/lib/logger')('ucoin'); module.exports = function (dbConf, overConf) { @@ -27,13 +26,7 @@ module.exports.statics = { let bmapi = yield bma(server, null, conf.httplogs); // Routing documents - server - // The router asks for multicasting of documents - .pipe(server.router()) - // The documents get sent to peers - .pipe(multicaster(server.conf)) - // The multicaster may answer 'unreachable peer' - .pipe(server.router()); + server.routing(); // Services yield module.exports.statics.startServices(server); diff --git a/server.js b/server.js index c4fed7bf1fdb7ee282ba4e17e85f8d2919867a1a..2f5d1fc642c2a23bdda296e313ef2eb12733a07f 100644 --- a/server.js +++ b/server.js @@ -17,6 +17,7 @@ var signature = require('./app/lib/signature'); var directory = require('./app/lib/directory'); var dos2unix = require('./app/lib/dos2unix'); var Synchroniser = require('./app/lib/sync'); +var multicaster = require('./app/lib/streams/multicaster'); function Server (dbConf, overrideConf) { @@ -429,6 +430,19 @@ function Server (dbConf, overrideConf) { }; }; + /** + * Enable routing features: + * - The server will try to send documents to the network + * - The server will eventually be notified of network failures + */ + this.routing = () => { + // The router asks for multicasting of documents + this.pipe(this.router()) + // The documents get sent to peers + .pipe(multicaster(this.conf)) + // The multicaster may answer 'unreachable peer' + .pipe(this.router()); + }; } util.inherits(Server, stream.Duplex);