diff --git a/src/core/app.js b/src/core/app.js index f52c664c..bad5d73f 100644 --- a/src/core/app.js +++ b/src/core/app.js @@ -1,89 +1,41 @@ +var crypto = require('crypto'); var path = require('path'); -var JSONConfig = require('./config/JSONConfig'); -var TCPSocketHandlerFactory = require('./net/tcp/TCPSocketHandlerFactory'); -var NetworkBootstrapper = require('./net/NetworkBootstrapper'); -var JSONWebIp = require('./net/ip/JSONWebIp'); -var Id = require('./topology/Id'); -var MyNode = require('./topology/MyNode'); -var ContactNodeAddressFactory = require('./topology/ContactNodeAddressFactory'); +var logger = require('./utils/logger/LoggerFactory').create(); var BucketFactory = require('./topology/BucketFactory'); var BucketStore = require('./topology/BucketStore'); -var ContactNodeFactory = require('./topology/ContactNodeFactory'); -var RoutingTable = require('./topology/RoutingTable'); -var crypto = require('crypto'); -var ProtocolGateway = require('./protocol/ProtocolGateway'); +var ContactNodeAddressFactory = require('./topology/ContactNodeAddressFactory'); +var ContactNodeFactory = require('./topology/ContactNodeFactory'); +var Id = require('./topology/Id'); +var JSONConfig = require('./config/JSONConfig'); var JSONStateHandlerFactory = require('./utils/JSONStateHandlerFactory'); +var JSONWebIp = require('./net/ip/JSONWebIp'); +var MyNode = require('./topology/MyNode'); +var NetworkBootstrapper = require('./net/NetworkBootstrapper'); -var stackTrace = require('stack-trace'); -var logger = require('./utils/logger/LoggerFactory').create(); +var ProtocolGateway = require('./protocol/ProtocolGateway'); -//require('longjohn'); -console.log('foo'); +var RoutingTable = require('./topology/RoutingTable'); +var TCPSocketHandlerFactory = require('./net/tcp/TCPSocketHandlerFactory'); var App = { start: function (dataPath, win) { + this.startTopology(dataPath, win); + }, + startTopology: function (dataPath, win) { var appConfig = new JSONConfig('../../config/mainConfig.json', ['app']); var netConfig = new JSONConfig('../../config/mainConfig.json', ['net']); var protocolConfig = new JSONConfig('../../config/mainConfig.json', ['protocol']); var topologyConfig = new JSONConfig('../../config/mainConfig.json', ['topology']); - var tcpSocketHandlerFactory = new TCPSocketHandlerFactory(); var jsonWebIp = new JSONWebIp(); - var nodeAddressFactory = new ContactNodeAddressFactory(); - var networkBootstrapper = new NetworkBootstrapper(tcpSocketHandlerFactory, netConfig, [jsonWebIp]); - var protocolGateway = null; - /*process.on('uncaughtException', function (err) { - var trace = stackTrace.parse(err); - - for (var i in err.stack) { - logger.warn('error stack ' + i, { - typeName: err.stack[i].getTypeName(), - fnName : err.stack[i].getFunctionName(), - fileName: err.stack[i].getFileName(), - line : err.stack[i].getLineNumber() - }); - } - - logger.error({ - code: err.message, stack: err.stack, trace: { - typeName: trace.getTypeName(), - fnName : trace.getFunctionName(), - fileName: trace.getFileName(), - line : trace.getLineNumber() - } - }); - - /*return process.nextTick(function () { - console.log(err); - win.showDevTools(); - debugger; - });*/ - /*; - logger.error({ - code: err.message, stack: err.stack, trace: { - typeName: trace.getTypeName(), - fnName : trace.getFunctionName(), - fileName: trace.getFileName(), - line : trace.getLineNumber() - } - }); - logger.info('Catched uncaughtException!'); - - setTimeout(function () { - process.exit(1); - }, 100);* / - });*/ - /*process.on('exit', function () { - logger.info('Exiting...'); - });*/ networkBootstrapper.bootstrap(function (err) { if (err) { logger.error('Network Bootstrapper: ERROR', { @@ -113,6 +65,7 @@ var App = { var handlerFactory = new JSONStateHandlerFactory(); var idState = handlerFactory.create(path.resolve(dataPath, 'myId.json')); + idState.load(function (err, state) { var myId = null; @@ -146,4 +99,4 @@ var App = { }; module.exports = App; -//# sourceMappingURL=App.js.map +//# sourceMappingURL=app.js.map diff --git a/src/core/app.js.map b/src/core/app.js.map index 002a3539..0bed0db7 100644 --- a/src/core/app.js.map +++ b/src/core/app.js.map @@ -1 +1 @@ -{"version":3,"file":"App.js","sourceRoot":"","sources":["App.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/core/app.ts b/src/core/app.ts index 47e669b0..b3e2877d 100644 --- a/src/core/app.ts +++ b/src/core/app.ts @@ -1,95 +1,44 @@ +import crypto = require('crypto'); import path = require('path'); +var logger = require('./utils/logger/LoggerFactory').create(); + +import BucketFactory = require('./topology/BucketFactory'); +import BucketStore = require('./topology/BucketStore'); +import ContactNode = require('./topology/ContactNode'); +import ContactNodeAddress = require('./topology/ContactNodeAddress'); +import ContactNodeAddressFactory = require('./topology/ContactNodeAddressFactory'); +import ContactNodeFactory = require('./topology/ContactNodeFactory'); +import GeneralWritableMessageFactory = require('./protocol/messages/GeneralWritableMessageFactory'); +import Id = require('./topology/Id'); import JSONConfig = require('./config/JSONConfig'); -import TCPSocketHandlerFactory = require('./net/tcp/TCPSocketHandlerFactory'); -import NetworkBootstrapper = require('./net/NetworkBootstrapper'); +import JSONStateHandlerFactory = require('./utils/JSONStateHandlerFactory'); import JSONWebIp = require('./net/ip/JSONWebIp'); -import Id = require('./topology/Id'); import MyNode = require('./topology/MyNode'); -import ContactNodeAddressFactory = require('./topology/ContactNodeAddressFactory'); -import ContactNodeAddress = require('./topology/ContactNodeAddress'); -import ContactNode = require('./topology/ContactNode'); +import NetworkBootstrapper = require('./net/NetworkBootstrapper'); import ProtocolConnectionManager = require('./protocol/net/ProtocolConnectionManager'); -import GeneralWritableMessageFactory = require('./protocol/messages/GeneralWritableMessageFactory'); -import BucketFactory = require('./topology/BucketFactory'); -import BucketStore = require('./topology/BucketStore'); -import ContactNodeFactory = require('./topology/ContactNodeFactory'); -import RoutingTable = require('./topology/RoutingTable'); -import ReadableMessage = require('./protocol/messages/ReadableMessage'); -import crypto = require('crypto'); import ProtocolGateway = require('./protocol/ProtocolGateway'); - -import JSONStateHandlerFactory = require('./utils/JSONStateHandlerFactory'); - -var stackTrace = require('stack-trace'); -var logger = require('./utils/logger/LoggerFactory').create(); -//require('longjohn'); - -console.log('foo'); +import ReadableMessage = require('./protocol/messages/ReadableMessage'); +import RoutingTable = require('./topology/RoutingTable'); +import TCPSocketHandlerFactory = require('./net/tcp/TCPSocketHandlerFactory'); var App = { start: function (dataPath, win) { + this.startTopology(dataPath, win); + }, + + startTopology: function (dataPath, win) { var appConfig = new JSONConfig('../../config/mainConfig.json', ['app']); var netConfig = new JSONConfig('../../config/mainConfig.json', ['net']); var protocolConfig = new JSONConfig('../../config/mainConfig.json', ['protocol']); var topologyConfig = new JSONConfig('../../config/mainConfig.json', ['topology']); - var tcpSocketHandlerFactory = new TCPSocketHandlerFactory(); var jsonWebIp = new JSONWebIp(); - var nodeAddressFactory = new ContactNodeAddressFactory(); - var networkBootstrapper = new NetworkBootstrapper(tcpSocketHandlerFactory, netConfig, [jsonWebIp]); - var protocolGateway = null; - /*process.on('uncaughtException', function (err) { - var trace = stackTrace.parse(err); - - for (var i in err.stack) { - logger.warn('error stack ' + i, { - typeName: err.stack[i].getTypeName(), - fnName : err.stack[i].getFunctionName(), - fileName: err.stack[i].getFileName(), - line : err.stack[i].getLineNumber() - }); - } - - logger.error({ - code: err.message, stack: err.stack, trace: { - typeName: trace.getTypeName(), - fnName : trace.getFunctionName(), - fileName: trace.getFileName(), - line : trace.getLineNumber() - } - }); - - /*return process.nextTick(function () { - console.log(err); - win.showDevTools(); - debugger; - });*/ - /*; - logger.error({ - code: err.message, stack: err.stack, trace: { - typeName: trace.getTypeName(), - fnName : trace.getFunctionName(), - fileName: trace.getFileName(), - line : trace.getLineNumber() - } - }); - logger.info('Catched uncaughtException!'); - - setTimeout(function () { - process.exit(1); - }, 100);* / - });*/ - - /*process.on('exit', function () { - logger.info('Exiting...'); - });*/ - networkBootstrapper.bootstrap(function (err) { if (err) { logger.error('Network Bootstrapper: ERROR', { @@ -118,9 +67,9 @@ var App = { addressList.push(nodeAddressFactory.create(myIp, myOpenPorts[i])); } - var handlerFactory = new JSONStateHandlerFactory(); var idState = handlerFactory.create(path.resolve(dataPath, 'myId.json')); + idState.load((err:Error, state:any) => { var myId = null; @@ -152,8 +101,6 @@ var App = { protocolGateway.start(); }); - - }); } }