Skip to content
Snippets Groups Projects
Select Git revision
  • 2b7cdefc1e4e171b5f8064e66b57e5424ea14611
  • master default protected
  • 305-re-enable-sanity-tests
  • 270-parametrage-de-la-gtest
  • network/gdev-800 protected
  • cgeek/issue-297-cpu
  • gdev-800-tests
  • update-docker-compose-rpc-squid-names
  • fix-252
  • 1000i100-test
  • hugo/tmp-0.9.1
  • network/gdev-803 protected
  • hugo/endpoint-gossip
  • network/gdev-802 protected
  • hugo/distance-precompute
  • network/gdev-900 protected
  • tuxmain/anonymous-tx
  • debug/podman
  • hugo/195-doc
  • hugo/195-graphql-schema
  • hugo-tmp-dockerfile-cache
  • gdev-900-0.10.1 protected
  • gdev-900-0.10.0 protected
  • gdev-900-0.9.2 protected
  • gdev-800-0.8.0 protected
  • gdev-900-0.9.1 protected
  • gdev-900-0.9.0 protected
  • gdev-803 protected
  • gdev-802 protected
  • runtime-801 protected
  • gdev-800 protected
  • runtime-800-bis protected
  • runtime-800 protected
  • runtime-800-backup protected
  • runtime-701 protected
  • runtime-700 protected
  • runtime-600 protected
  • runtime-500 protected
  • v0.4.1 protected
  • runtime-401 protected
  • v0.4.0 protected
41 results

runtime-errors.md

Blame
  • index.js 2.16 KiB
    "use strict";
    
    var co = require('co');
    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) {
      return new Server(dbConf, overConf);
    };
    
    module.exports.statics = {
    
      enableHttpAdmin: (dbConf, overConf, httpLogs, wmHost, wmPort) => webmin(dbConf, overConf, [{
        ip:  wmHost || 'localhost',
        port: wmPort || 9220
      }], httpLogs !== false),
    
      startNode: (server, conf) => co(function *() {
    
        logger.info(">> NODE STARTING");
    
        // Public http interface
        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());
    
        // Services
        yield module.exports.statics.startServices(server);
        yield bmapi.openConnections();
    
        logger.info('>> Server ready!');
      }),
    
      startServices: (server) => co(function *() {
    
        /***************
         * HTTP ROUTING
         **************/
        server.router(server.conf.routing);
    
        /***************
         *    UPnP
         **************/
        if (server.conf.upnp) {
          try {
            if (server.upnpAPI) {
              server.upnpAPI.stopRegular();
            }
            server.upnpAPI = yield upnp(server.conf.port, server.conf.remoteport);
            server.upnpAPI.startRegular();
          } catch (e) {
            logger.warn(e);
          }
        }
    
        /*******************
         * BLOCK COMPUTING
         ******************/
        if (server.conf.participate) {
          server.startBlockComputation();
        }
    
        /***********************
         * CRYPTO NETWORK LAYER
         **********************/
        server.start();
    
        return {};
      }),
    
      stopServices: (server) => co(function *() {
    
        server.router(false);
        if (server.conf.participate) {
          server.stopBlockComputation();
        }
        yield server.stop();
    
        return {};
      })
    };