예제 #1
0
        public void Start(int threadCount = 1, bool isSendRecvInMain = true, bool isMultiThreaded = true)
        {
            if (_isStarted)
            {
                throw new Exception("alread started");
            }

            _isStarted = true;

            _activeNetworks.Add(this);
            _sendRecvInMain  = isSendRecvInMain;
            _isMultiThreaded = isMultiThreaded;
            if (_isMultiThreaded)
            {
                _isThreadRunning = true;
                for (int i = 0; i < threadCount; i++)
                {
                    SerializeAndDeserializeThread thread = new SerializeAndDeserializeThread(_channels, i, threadCount, ServiceName + "_ SerializeAndDeserialize_" + i);
                    _serializeAndDeserializeThreads.Add(thread);
                    _activeThreads.Add(thread);
                    thread.Start();
                }

                if (!_sendRecvInMain)
                {
                    _sendRecvThread = new PollServiceThread(ProcessSendReceive, 2, ServiceName + "_PollServiceThread");
                    _sendRecvThread.Start();
                    _activeThreads.Add(_sendRecvThread);
                }
            }
        }
예제 #2
0
 //ATTEMPTS TO RESUME A PREVIOUSLY PAUSED VIDEO
 public void ResumeVideo()
 {
     ThreadFactory.ResumeAllThreads();
     AbstractThread.SetControlPropertyThreadSafe(pause_button, "Text", PAUSE_BUTTON_TEXT);
 }
예제 #3
0
 //ATTEMPTS TO PAUSE A RUNNING VIDEO
 public void PauseVideo()
 {
     ThreadFactory.PauseAllThreads();
     AbstractThread.SetControlPropertyThreadSafe(pause_button, "Text", PLAY_BUTTON_TEXT);
 }