public GThreadControl(GThread gthread)
        {
            this._gThread = gthread;
            InitializeComponent();

            this.lblName.Text = gthread.Name;
        }
 private GThreadControl getControlByThread(GThread thread)
 {
     lock (this._controls) {
         foreach (GThreadControl c in this._controls)
             if (c._gThread == thread)
                 return c;
         return null;
     }
 }
 public bool ContainsThread(GThread thread)
 {
     lock (this._controls) {
         foreach (GThreadControl c in this._controls)
             if (c._gThread == thread)
                 return true;
         return false;
     }
 }
Beispiel #4
0
        public BaseListener(IPAddress address, int port, BaseListener.ClientArrivedHandler handler)
        {
            _port = port;

            ClientArrived += handler;

            _tcpListener = new TcpListener(address, _port);
            _tcpListener.Start();

            _acceptorThread = new GThread(new ThreadStart(_acceptorloop), "Acceptor Loop", true);
            _acceptorThread.Start();
        }
        public GSocketListener(int port, GSocketListener.ClientArrivedHandler handler)
        {
            _port = port;

            ClientArrived += handler;

            _tcpListener = new TcpListener(_port);
            _tcpListener.Start();

            _acceptorThread = new GThread(new ThreadStart(_acceptorloop), "Acceptor Loop", true);
            _acceptorThread.Start();
        }
Beispiel #6
0
        public BaseListener(int port, BaseListener.ClientArrivedHandler handler = null)
        {
            _port = port;

            if(handler != null)
                ClientArrived += handler;

            _tcpListener = new TcpListener(_port);
            _tcpListener.Start();

            _acceptorThread = new GThread(new ThreadStart(_acceptorloop), "Acceptor Loop", true);
            _acceptorThread.Start();
        }
 public bool RemoveThread(GThread thread)
 {
     GThreadControl c = this.getControlByThread(thread);
     if (c == null)
         return false;
     Async.UI(() => {
         lock (this._controls) {
             this.flowLayoutPanel.Controls.Remove(c);
             this._controls.Remove(c);
         }
     }, this, true);
     return true;
 }
        public void AddThread(GThread thread)
        {
            if (this.ContainsThread(thread))
                return;

            Async.UI(() => {
                lock (this._controls) {
                    GThreadControl c = new GThreadControl(thread);
                    this.flowLayoutPanel.Controls.Add(c);
                    this._controls.Add(c);
                }
            }, this, true);
        }
        private void _AddGThread(GThread gThread)
        {
            GLItem item = new GLItem();
            item.Tag = gThread;

            GLSubItem itemName = new GLSubItem();
            itemName.Text = gThread.Name;

            ProgressBar pb = new ProgressBar();
            GLSubItem itemUsage = new GLSubItem();

            GLSubItem itemPercent = new GLSubItem();

            itemUsage.Control = pb;
            pb.Minimum = 0;
            pb.Maximum = 100;

            item.SubItems.Add(itemName);
            item.SubItems.Add(itemUsage);
            item.SubItems.Add(itemPercent);

            glGTreadList.Items.Add(item);
        }
Beispiel #10
0
        public static GThread GetCurrentGThread()
        {
            Thread currentThread = Thread.CurrentThread;
            foreach (GThread gThread in AllGThreads)
                if (gThread.Thread == currentThread)
                    return gThread;

            GThread gthread = new GThread();
            gthread._thread = currentThread;
            gthread._processThread = GThread.GetCurrentProcessThread();
            gthread.Name = GSharp.Sys.Process.Utils.GetLastMethodName();
            AllGThreads.Add(gthread);
            return gthread;
        }
Beispiel #11
0
 void GThread_OnNewGThread(GThread gThread)
 {
     this.CPUUsage.Add(gThread, gThread.GetCPUUsageRelative());
 }
Beispiel #12
0
 void GThread_OnEndGThread(GThread gThread)
 {
     this.CPUUsage.Remove(gThread);
 }
 void GThread_OnNewGThread(GThread gThread)
 {
     this.AddThread(gThread);
 }
 void GThread_OnEndGThread(GThread gThread)
 {
     this.RemoveThread(gThread);
 }
Beispiel #15
0
        private void _EndGThread(GThread gThread)
        {
            GLItem itemToDelete = null;

            foreach(GLItem item in glGTreadList.Items)
                if (item.Tag == gThread) {
                    itemToDelete = item;
                    break;
                }
            if (itemToDelete == null) {
                Logging.Log.Warn("GThread not found", gThread);
                return;
            }

            glGTreadList.Items.Remove(itemToDelete);
        }
Beispiel #16
0
        public void Init(Stream inStream, Stream outStream, int maxPackSize = 2048)
        {
            _inStream = inStream;
            _outStream = outStream;

            _isActive = true;
            MaxPackSize = maxPackSize;

            _readerThread = new GThread(new System.Threading.ThreadStart(_readerloop),
                "Reader-Tread for " + this.ToString(), true);
            _readerThread.Thread.IsBackground = true;
            _readerThread.Start();
        }