예제 #1
0
 public CaptureThread(
     ExtendedManualResetEvent ShutdownFlag, IThreadBase MasterThread)
     : base(ShutdownFlag)
 {
     this.InputQueue   = new ConcurrentMessageQueue();
     this.MasterThread = MasterThread;
 }
예제 #2
0
 public PrinterThread(
     ExtendedManualResetEvent ShutdownFlag, ExtendedManualResetEvent ConnectionFailedEvent)
     : base(ShutdownFlag)
 {
     this.ContentOdom           = new ConcurrentOdom();
     this.InputQueue            = new ConcurrentMessageQueue();
     this.ConnectionFailedEvent = ConnectionFailedEvent;
 }
예제 #3
0
        public ThreadBase(ExtendedManualResetEvent ShutdownFlag)
        {
            this.ShutdownFlag = ShutdownFlag;

            // the thread ended event starts off as on. Not until it is running is the
            // ended event set off.
            this.ThreadEndedEvent = new ExtendedManualResetEvent(true);
        }
 public ThreadSupervisor(
     ExtendedManualResetEvent InBackThreadEndFlag, RunLogListBox InRunLog)
 {
     mRunLog              = new RunLogListBox(InRunLog, "Supervisor");
     mBackThreadEndFlag   = InBackThreadEndFlag;
     mCurrentReadBuffer   = null;
     mDisplacedBufferList = new List <ReadBuffer>();
     mCommandThreadList   = new List <CommandThread>();
 }
예제 #5
0
 public ToThread(
     ExtendedManualResetEvent ShutdownFlag, TcpClient Client,
     ScreenDim ScreenDim)
     : base(ShutdownFlag)
 {
     this.Client                = Client;
     this.InputQueue            = new ConcurrentMessageQueue();
     this.ConnectionFailedEvent = new AutoResetEvent(false);
     this.LogList               = new TelnetLogList("To");
 }
예제 #6
0
 public PaintThread(
     ExtendedManualResetEvent ShutdownFlag, Window Window,
     ItemCanvas TelnetCanvas)
     : base(ShutdownFlag)
 {
     this.InputQueue   = new ConcurrentMessageQueue();
     this.Window       = Window;
     this.TelnetCanvas = TelnetCanvas;
     this.LogList      = new TelnetLogList("Paint");
 }
예제 #7
0
 public ConnectThread(
     ExtendedManualResetEvent ShutdownFlag,
     FromThread FromThread, ToThread ToThread,
     SessionSettings Settings)
     : base(ShutdownFlag)
 {
     this.FromThread      = FromThread;
     this.ToThread        = ToThread;
     this.SessionSettings = Settings;
     this.InputQueue      = new ConcurrentMessageQueue();
 }
예제 #8
0
 public MatchThread(
     ExtendedManualResetEvent ShutdownFlag, IThreadBase MasterThread,
     IThreadBase PaintThread,
     Action <ThreadMessageBase> TelnetWindowInputSignal)
     : base(ShutdownFlag)
 {
     this.InputQueue              = new ConcurrentMessageQueue();
     this.MasterThread            = MasterThread;
     this.PaintThread             = PaintThread;
     this.TelnetWindowInputSignal = TelnetWindowInputSignal;
 }
예제 #9
0
 public CommandThread(
     ThreadSupervisor InSupervisor, TelnetConnection InConn,
     TelnetCommandRoute InCommandRoute,
     RunLogListBox InRunLog)
 {
     mShutdownFlag = new ExtendedManualResetEvent(false);
     mConn         = InConn;
     mCommandRoute = InCommandRoute;
     mRunLog       = InRunLog;
     Supervisor    = InSupervisor;
 }
예제 #10
0
 public MasterThread(
     ExtendedManualResetEvent ShutdownFlag, ExtendedManualResetEvent ConnectionFailedEvent,
     ScreenDim ScreenDim, ItemCanvas TelnetCanvas)
     : base(ShutdownFlag)
 {
     this.ContentOdom           = new ConcurrentOdom();
     this.InputQueue            = new ConcurrentMessageQueue();
     this.ConnectionFailedEvent = ConnectionFailedEvent;
     this.ScreenDim             = ScreenDim;
     this.TelnetCanvas          = TelnetCanvas;
     this.LogList = new TelnetLogList("Master");
 }
예제 #11
0
 public FromThread(
     ExtendedManualResetEvent ShutdownFlag, TcpClient Client,
     ConcurrentMessageQueue TelnetQueue,
     SessionSettings Settings, ScreenDim ScreenDim)
     : base(ShutdownFlag)
 {
     this.Client                = Client;
     this.InputQueue            = new ConcurrentMessageQueue();
     this.TelnetQueue           = TelnetQueue;
     this.ConnectionFailedEvent = new ExtendedManualResetEvent(false);
     this.SessionSettings       = Settings;
     this.LogList               = new TelnetLogList("From");
 }
예제 #12
0
        public ReceiveThread(
            TelnetConnection InConn,
            AutoResetEvent InStartReceivingEvent,
            ThreadSupervisor InSupervisor,
            ExtendedManualResetEvent InShutdownFlag,
            RunLogListBox InRunLog)
        {
            mConn = InConn;

            mSupervisor = InSupervisor;
            mSupervisor.AssignRunningReceiveThread(this);

            mStartReceivingEvent = InStartReceivingEvent;
            mRunLog       = new RunLogListBox(InRunLog, "ReceiveThread");
            mShutdownFlag = InShutdownFlag;
        }
예제 #13
0
        // ---------------------- StartReceiveFromTelnetServerThread ----------------------
        public static void StartReceiveFromTelnetServerThread(
            //      out DataQueue OutReceiveDataQueue,
            out AutoResetEvent OutStartReceivingEvent,
            TelnetConnection InConn, ThreadSupervisor InSupervisor,
            ExtendedManualResetEvent InShutdownFlag, RunLogListBox InRunLog)
        {
            // create the event that the receive thread listens to to be signaled that it
            // should wake up and receive from the telnet server.
            OutStartReceivingEvent = new AutoResetEvent(false);

            // setup the ReceiveThread object with all the object references it needs.
            ReceiveThread rt = new ReceiveThread(
                InConn,
                OutStartReceivingEvent,
                InSupervisor,
                InShutdownFlag, InRunLog);

            // start the ReceiveThread.
            ReceiveThread.ThreadStart(rt);
        }
예제 #14
0
 public ReadBuffer()
 {
     mGotDataEvent = new ExtendedManualResetEvent(false);
 }
예제 #15
0
 public BackThread(
     ExtendedManualResetEvent ShutdownFlag)
 {
     this.ShutdownFlag = ShutdownFlag;
 }