/// <summary> /// Constructor. /// </summary> public NGRIDServer() { _settings = NGRIDSettings.Instance; _serverGraph = new NGRIDServerGraph(); _clientApplicationList = new NGRIDClientApplicationList(); _ngridManager = new NGRIDController("NGRIDController"); _storageManager = StorageManagerFactory.CreateStorageManager(); _routingTable = new RoutingTable(); _communicationLayer = new CommunicationLayer(); _organizationLayer = new OrganizationLayer(_communicationLayer, _storageManager, _routingTable, _serverGraph, _clientApplicationList, _ngridManager); _ngridManager.OrganizationLayer = _organizationLayer; }
/// <summary> /// Constructor. /// </summary> /// <param name="communicationLayer">Reference to the Communication Layer</param> /// <param name="storageManager">Reference to the Storage Manager</param> /// <param name="routingTable">Reference to the routing table</param> /// <param name="serverGraph">Reference to server graph</param> /// <param name="clientApplicationList">Reference to application list</param> /// <param name="ngridManager">Reference to NGRID Manager object</param> public OrganizationLayer(CommunicationLayer communicationLayer, IStorageManager storageManager, RoutingTable routingTable, NGRIDServerGraph serverGraph, NGRIDClientApplicationList clientApplicationList, NGRIDController ngridManager) { _settings = NGRIDSettings.Instance; _communicationLayer = communicationLayer; _storageManager = storageManager; _routingTable = routingTable; _serverGraph = serverGraph; _clientApplicationList = clientApplicationList; _ngridManager = ngridManager; _waitingMessages = new SortedList<string, WaitingMessage>(); PrepareCommunicationLayer(); }