예제 #1
0
        public void Initialize(CancellationToken ct)
        {
            _udpCommunicationService = _communicationServicesRegistry.GetInstance(_configurationService.Get <IRegistryConfiguration>().UdpServiceName);
            _tcpCommunicationService = _communicationServicesRegistry.GetInstance(_configurationService.Get <IRegistryConfiguration>().TcpServiceName);

            Task.Factory.StartNew(() => {
                ProcessBlocks(ct);
            }, ct, TaskCreationOptions.LongRunning, TaskScheduler.Default);
        }
예제 #2
0
        public void Initialize(CancellationToken ct)
        {
            //TODO: need to move definition of communication service name to configuration file
            _communicationService = _communicationServicesRegistry.GetInstance("GenericUdp");

            Task.Factory.StartNew(() => {
                ProcessBlocks(ct);
            }, ct, TaskCreationOptions.LongRunning, TaskScheduler.Current);
        }
예제 #3
0
        public void Initialize(CancellationToken ct)
        {
            _cancellationToken = ct;
            _cancellationToken.Register(() => { _syncContextChangedUnsibsciber.Dispose(); });
            _communicationService = _communicationServicesRegistry.GetInstance("GenericTcp");

            Task.Factory.StartNew(() => {
                ProcessBlocks(ct);
            }, ct, TaskCreationOptions.LongRunning, TaskScheduler.Current);
        }
예제 #4
0
        public void Initialize(CancellationToken ct)
        {
            _currentSyncBlockOrder = _synchronizationContext.LastBlockDescriptor?.BlockHeight ?? 0;
            _communicationService  = _communicationServicesRegistry.GetInstance("GenericTcp");

            Task.Factory.StartNew(() => {
                ProcessBlocks(ct);
            }, ct, TaskCreationOptions.LongRunning, TaskScheduler.Current);

            Task.Factory.StartNew(() =>
            {
                ProcessRetransmittedBlocks(ct);
            }, ct, TaskCreationOptions.LongRunning, TaskScheduler.Current);
        }
예제 #5
0
        private void InitializeCommunicationLayer()
        {
            INodeConfiguration nodeConfiguration = _configurationService.Get <INodeConfiguration>();

            foreach (string communicationServiceName in nodeConfiguration.CommunicationServices)
            {
                CommunicationConfigurationBase communicationConfiguration = (CommunicationConfigurationBase)_configurationService[communicationServiceName];
                IServerCommunicationService    serverCommunicationService = _communicationServicesFactory.GetInstance(communicationConfiguration.CommunicationServiceName);
                serverCommunicationService.Init(new SocketListenerSettings(communicationConfiguration.MaxConnections, communicationConfiguration.ReceiveBufferSize, new IPEndPoint(IPAddress.Any, communicationConfiguration.ListeningPort)));
                _communicationServicesRegistry.RegisterInstance(serverCommunicationService, communicationConfiguration.CommunicationServiceName);
            }

            _packetsHandler.Initialize(_cancellationTokenSource.Token);
        }
예제 #6
0
        public void RegisterInstance(IServerCommunicationService obj, string key)
        {
            if (obj == null)
            {
                throw new ArgumentNullException(nameof(obj));
            }

            if (key == null)
            {
                throw new ArgumentNullException(nameof(key));
            }

            if (!_communicationServices.ContainsKey(key))
            {
                _communicationServices.Add(key, obj);
            }
        }
예제 #7
0
 public void Initialize()
 {
     _communicationService = _communicationServicesRegistry.GetInstance(_configurationService.Get <ISynchronizationConfiguration>().CommunicationServiceName);
 }
예제 #8
0
 public BrowseViewModel(IServerCommunicationService service)
 {
     this.communicationService = service;
     UpdateData();
 }
예제 #9
0
 public TorrentsViewModel(IServerCommunicationService service)
 {
     this.communicationService = service;
     UpdateData();
 }
예제 #10
0
 public void Initialize()
 {
     _tcpCommunicationService = _serverCommunicationServicesRegistry.GetInstance(_configurationService.Get <IRegistryConfiguration>().TcpServiceName);
     _udpCommunicationService = _serverCommunicationServicesRegistry.GetInstance(_configurationService.Get <IRegistryConfiguration>().UdpServiceName);
 }
예제 #11
0
 public AddTorrentViewModel(IServerCommunicationService communicationService)
 {
     this.communicationService = communicationService;
     this.animeToBeAdded = new Anime();
 }
예제 #12
0
 public FirstViewModel(IServerCommunicationService service)
 {
     torrentsViewModel = new TorrentsViewModel(service);
     browseViewModel = new BrowseViewModel(service);
     addTorrentViewModel = new AddTorrentViewModel(service);
 }