Exemple #1
0
        private async Task InitializeCoreAsync()
        {
            if (!ObjectProvider.SupportListeners)
            {
                Initialized = false;
                return;
            }

            await Parent.ExecuteAsync(() =>
            {
                Listeners.Clear();

                ((ListenerListStatusInfo)StatusInfoViewModel).ConnectionInformation = QM.ConnectionInfo;

                var infos = new List <ListenerInfo>();

                Initialized = Parent.ExecuteGuarded(() =>
                {
                    foreach (var c in ObjectProvider.GetListeners())
                    {
                        infos.Add(new ListenerInfo(c, Parent.App.UserSettings));
                    }
                });

                InitCollectionView(infos);
            });
        }
        private bool InitListeners()
        {
            IsStopped = false;
            for (var i = 0; i < ListenerInfos.Length; i++)
            {
                var listener = new AsyncTcpListener(ListenerInfos[i]);
                listener.Error             += new ErrorHandler(OnListenerError);
                listener.Stopped           += new EventHandler(OnListenerStopped);
                listener.NewClientAccepted += new NewClientAcceptHandler(OnNewClientAccepted);

                if (listener.Start())
                {
                    Listeners.Add(listener);
                    Logger.Debug(string.Format("Listener ({0}) was started", listener.Info.EndPoint));
                }
                else //如果有一个启动失败,则全部listener都关闭
                {
                    Logger.Debug(string.Format("Listener ({0}) failed to start", listener.Info.EndPoint));
                    for (var j = 0; j < Listeners.Count; j++)
                    {
                        Listeners[j].Stop();
                    }

                    Listeners.Clear();
                    return(false);
                }
            }

            IsRunning = true;
            return(true);
        }
Exemple #3
0
 public void Dispose()
 {
     foreach (IPeerListener listener in Listeners.ToArray())
     {
         Unregister(listener);
     }
     Listeners.Clear();
 }
 public override void Close()
 {
     foreach (KeyValuePair <string, IMyTraceListener> t in Listeners)
     {
         t.Value.WriteCommentAndNewLine("closing all logs");
         t.Value.Close();
     }
     Listeners.Clear();
 }
Exemple #5
0
 public void Stop()
 {
     for (int i = 0; i < ListenerCount; i++)
     {
         Console.WriteLine(this[i].ToString() + " stopped.");
         this[i].Dispose();
     }
     Listeners.Clear();
 }
        /// <summary>
        /// Extract from the web page and return the results as a list.
        /// </summary>
        /// <param name="page">The web page to extract from.</param>
        /// <returns>The results of the extraction as a List.</returns>
        public IList <Object> ExtractList(WebPage page)
        {
            Listeners.Clear();
            var listener = new ListExtractListener();

            AddListener(listener);
            Extract(page);
            return(listener.List);
        }
Exemple #7
0
        private async void Refresh()
        {
            IsRefreshing = true;

            Listeners.Clear();

            (await Listener.GetAllActiveListenersAsync()).ForEach(x => Listeners.Add(x));

            IsRefreshing = false;
        }
Exemple #8
0
 /// <summary>
 /// Stops the proxy server.
 /// </summary>
 /// <remarks>When this method is called, all listener and client objects will be disposed.</remarks>
 public void Stop()
 {
     // Stop listening and clear the Listener list
     for (int i = 0; i < ListenerCount; i++)
     {
         Console.WriteLine(this[i] + " stopped.");
         this[i].Dispose();
     }
     Listeners.Clear();
 }
        public override void Stop()
        {
            base.Stop();

            for (var i = 0; i < Listeners.Count; i++)
            {
                Listeners[i].Stop();
            }

            Listeners.Clear();
        }
Exemple #10
0
        public virtual bool Start()
        {
            IsStopped = false;

            ILog log = AppServer.Logger;

            var config = AppServer.Config;

            var sendingQueuePool = new SmartPool <SendingQueue>();

            sendingQueuePool.Initialize(Math.Max(config.MaxConnectionNumber / 6, 256),
                                        Math.Max(config.MaxConnectionNumber * 2, 256),
                                        new SendingQueueSourceCreator(config.SendingQueueSize));

            SendingQueuePool = sendingQueuePool;

            for (var i = 0; i < ListenerInfos.Length; i++)
            {
                var listener = CreateListener(ListenerInfos[i]);
                listener.Error             += new ErrorHandler(OnListenerError);
                listener.Stopped           += new EventHandler(OnListenerStopped);
                listener.NewClientAccepted += new NewClientAcceptHandler(OnNewClientAccepted);

                if (listener.Start(AppServer.Config))
                {
                    Listeners.Add(listener);

                    if (log.IsDebugEnabled)
                    {
                        log.DebugFormat("Listener ({0}) was started", listener.EndPoint);
                    }
                }
                else //If one listener failed to start, stop started listeners
                {
                    if (log.IsDebugEnabled)
                    {
                        log.DebugFormat("Listener ({0}) failed to start", listener.EndPoint);
                    }

                    for (var j = 0; j < Listeners.Count; j++)
                    {
                        Listeners[j].Stop();
                    }

                    Listeners.Clear();
                    return(false);
                }
            }

            IsRunning = true;
            return(true);
        }
 public static void Close()
 {
     if (NSTraceOptions.UseSystemTrace)
     {
         Trace.Flush();
     }
     foreach (TraceListener listener in Listeners)
     {
         listener.Flush();
         listener.Close();
     }
     Listeners.Clear();
 }
Exemple #12
0
        internal void Unloading()
        {
            _variables.ResetAvailability(Zone.ZoneLoadedAvailability);

            IsEnabled = false;

            Properties  = null;
            Pathfinding = null;
            Connections.Clear();
            SpawnPoints.Clear();
            Npcs.Clear();
            Listeners.Clear();
        }
Exemple #13
0
        private async Task UpdateFilterResultAsync()
        {
            await Parent.ExecuteAsync(() =>
            {
                using (var ps = Progress.Start(_originalListenerList.Count, LongRunningState.No))
                {
                    _filterProgressScope = ps;

                    Listeners.Clear();
                    ListenersFilterView.Refresh();
                    _filterProgressScope = null;
                }
            });
        }
        public virtual void Stop()
        {
            IsStopped = true;

            for (var i = 0; i < Listeners.Count; i++)
            {
                var listener = Listeners[i];

                listener.Stop();
            }

            Listeners.Clear();

            IsRunning = false;
        }
Exemple #15
0
        /// <inheritdoc />
        public void Dispose()
        {
            // https://github.com/Kittyfisto/Tailviewer/issues/282
            Listeners.Clear();

            try
            {
                DisposeAdditional();
            }
            catch (Exception e)
            {
                Log.ErrorFormat("Caught unexpected exception: {0}", e);
            }
            _cancellationTokenSource.Cancel();
            IsDisposed = true;
            _scheduler.StopPeriodic(_readTask);
        }
Exemple #16
0
        private bool disposedValue = false; // To detect redundant calls

        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    /* Docs: https://html.spec.whatwg.org/multipage/webappapis.html#erase-all-event-listeners-and-handlers */
                    handlerMap.Dispose();
                    foreach (var Listener in Listeners)
                    {
                        Listener.removed = true;
                    }
                    Listeners.Clear();
                }
                disposedValue = true;
            }
        }
        public override bool Start()
        {
            if (!base.Start())
            {
                return(false);
            }

            ILog log = AppServer.Logger;

            for (var i = 0; i < ListenerInfos.Length; i++)
            {
                var listener = CreateListener(ListenerInfos[i]);
                listener.Error             += new ErrorHandler(listener_Error);
                listener.NewClientAccepted += new NewClientAcceptHandler(AcceptNewClient);

                if (listener.Start())
                {
                    Listeners.Add(listener);

                    if (log.IsDebugEnabled)
                    {
                        log.DebugFormat("Listener ({0}) was started", listener.EndPoint);
                    }
                }
                else //If one listener failed to start, stop started listeners
                {
                    if (log.IsDebugEnabled)
                    {
                        log.DebugFormat("Listener ({0}) failed to start", listener.EndPoint);
                    }

                    for (var j = 0; j < Listeners.Count; j++)
                    {
                        Listeners[j].Stop();
                    }

                    Listeners.Clear();
                    return(false);
                }
            }

            return(true);
        }
        public virtual bool Start()
        {
            IsStopped = false;

            ILog log = AppServer.Logger;

            for (var i = 0; i < ListenerInfos.Length; i++)
            {
                var listener = CreateListener(ListenerInfos[i]);
                listener.Error             += new ErrorHandler(OnListenerError);
                listener.Stopped           += new EventHandler(OnListenerStopped);
                listener.NewClientAccepted += new NewClientAcceptHandler(OnNewClientAccepted);

                if (listener.Start(AppServer.Config))
                {
                    Listeners.Add(listener);

                    if (log.IsDebugEnabled)
                    {
                        log.DebugFormat("Listener ({0}) was started", listener.EndPoint);
                    }
                }
                else //If one listener failed to start, stop started listeners
                {
                    if (log.IsDebugEnabled)
                    {
                        log.DebugFormat("Listener ({0}) failed to start", listener.EndPoint);
                    }

                    for (var j = 0; j < Listeners.Count; j++)
                    {
                        Listeners[j].Stop();
                    }

                    Listeners.Clear();
                    return(false);
                }
            }

            IsRunning = true;
            return(true);
        }
Exemple #19
0
        private void InitCollectionView(List <ListenerInfo> listeners)
        {
            _originalListenerList = listeners;

            HasSystemListeners = listeners.Any(q => q.ListenerSource.IsSystemListener);

            ListenersFilterView = (CollectionView)CollectionViewSource.GetDefaultView(listeners);
            Listeners.Clear();
            using (_filterProgressScope = Progress.Start(listeners.Count, LongRunningState.No))
            {
                using (ListenersFilterView.DeferRefresh())
                {
                    ListenersFilterView.Filter = OnListenersViewFilter;
                    ListenersFilterView.SortDescriptions.Add(
                        new SortDescription("Name", ListSortDirection.Ascending));
                }
            }

            StatusInfoViewModel.LastUpdateTimestamp = DateTime.Now;
        }
Exemple #20
0
        protected override void Dispose(bool disposing)
        {
            if (Context != null && !Context.IsDisposed)
            {
                foreach (var dis in Listeners.OfType <IDisposable>())
                {
                    try {
                        dis.Dispose();
                    } catch {
                        // Don't care
                    }
                }
            }
            Listeners.Clear();

            RenderContext.Dispose();
            UpdateTimer.Dispose();
            _stopwatch.Stop();
            base.Dispose(disposing);
        }
Exemple #21
0
        public virtual void Stop()
        {
            IsStopped = true;

            for (var i = 0; i < Listeners.Count; i++)
            {
                var listener = Listeners[i];

                listener.Stop();
            }

            Listeners.Clear();

            // Clean the attached server resources
            if (m_ServerResources != null)
            {
                Parallel.ForEach(m_ServerResources, (r) => r.Rollback());
            }

            IsRunning = false;
        }
Exemple #22
0
        public async Task Shutdown()
        {
            Emit("ShuttingDown", true);
            _isReady = false;

            // Cleanup script file watcher
            if (_watchSubscription != null)
            {
                _watchSubscription.Dispose();
            }
            _scriptRunner.Cleanup();
            Listeners.Clear();
            foreach (var adapter in _adapters.Values)
            {
                await adapter.Close();
            }
            if (_brain != null)
            {
                await _brain.Close();
            }
            Emit("ShutdownComplete", true);
        }
        public void Stop()
        {
            if (IsStopped)
            {
                return;
            }
            lock (SyncRoot)
            {
                if (IsStopped)
                {
                    return;
                }

                IsStopped = true;

                for (var i = 0; i < Listeners.Count; i++)
                {
                    var listener = Listeners[i];

                    listener.Stop();
                }

                Listeners.Clear();

                SendingQueuePool = null;

                IsRunning = false;

                foreach (var item in m_SocketPool)
                {
                    item.SocketEventArgs.Dispose();
                }

                m_SocketPool           = null;
                m_ReceiveBufferManager = null;
                IsRunning = false;
            }
        }
Exemple #24
0
        public override void Close()
        {
            Busy();

            bool upload = (LoggingSettings.Settings.UploadYN && (BadPagesLogToUpload || WikiLogToUpload) &&
                           MessageBox.Show("Upload logs?", "Logging", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
                                           MessageBoxDefaultButton.Button1) == DialogResult.Yes);

            foreach (KeyValuePair <string, IMyTraceListener> t in Listeners)
            {
                t.Value.WriteCommentAndNewLine("closing all logs");
                if (t.Value.Uploadable)
                {
                    ((TraceListenerUploadableBase)t.Value).Close(upload);
                }
                else
                {
                    t.Value.Close();
                }
            }
            Listeners.Clear();

            NotBusy();
        }
 /// <summary>
 ///     Removes all listeners from the event
 /// </summary>
 public void RemoveAllListeners()
 {
     Listeners.Clear();
     ActionListeners = null;
 }
 public void Dispose()
 {
     Listeners.Clear();
     Request.RevokeTask(true);
     Request = null;
 }