예제 #1
0
        private WorkflowNode(IProcessor <T, TU> processor, IWFMessageQueue <T> inputqueue, IWFMessageQueue <TU> outputqueue, ManualResetEvent interruptprocessingevent, bool defaultconstructor)
        {
            this.Processor                = processor;
            this.ThreadExitEvent          = new ManualResetEvent(false);
            this.InterruptProcessingEvent = interruptprocessingevent;
            this.InputQueue               = inputqueue;
            this.OutputQueue              = outputqueue;

            if (defaultconstructor == false)
            {
                if (this.InterruptProcessingEvent == null)
                {
                    throw new Exception("WorkflowNode Exception: InterruptProcessingEvent is null");
                }

                if (this.InputQueue == null)
                {
                    throw new Exception("WorkflowNode Exception: InputQueue is null");
                }

//				if (this.OutputQueue == null)
//					throw new Exception("WorkflowNode Exception: OutputQueue is null");

                if (this.Processor == null)
                {
                    throw new Exception("WorkflowNode Exception: Processor is null");
                }
            }
            ThreadPool.QueueUserWorkItem(this.Run);
        }
예제 #2
0
 public WFQueueConnector(ManualResetEvent interruptprocessingevent, IWFMessageQueue <T> inputqueue, IWFMessageQueue <TU> outputqueue, int threadid)
     : base(interruptprocessingevent, inputqueue, outputqueue, threadid)
 {
     if (this.OutputQueue == null)
     {
         throw new Exception("WFQueueConnector Exception: OutputQueue is null");
     }
 }
예제 #3
0
        protected WFGenericThread(ManualResetEvent interruptprocessingevent, IWFMessageQueue <T> inputqueue, int threadid, bool defaultconstructor)
        {
            this.ThreadExitEvent          = new ManualResetEvent(false);
            this.InterruptProcessingEvent = interruptprocessingevent;
            this.ThreadId   = threadid;
            this.InputQueue = inputqueue;

            if (defaultconstructor == false)
            {
                if (this.InterruptProcessingEvent == null)
                {
                    throw new Exception("WFGenericThread Exception: InterruptProcessingEvent is null");
                }

                if (this.InputQueue == null)
                {
                    throw new Exception("WFGenericThread Exception: InputQueue is null");
                }
            }
        }
예제 #4
0
 public WorkflowNode(IProcessor <T, TU> processor, IWFMessageQueue <T> inputqueue, IWFMessageQueue <TU> outputqueue, ManualResetEvent interruptprocessingevent)
     : this(processor, inputqueue, outputqueue, interruptprocessingevent, false)
 {
 }
예제 #5
0
 protected WFGenericThread(ManualResetEvent interruptprocessingevent, IWFMessageQueue <T> inputqueue, int threadid) : this(interruptprocessingevent, inputqueue, threadid, false)
 {
 }
예제 #6
0
 public WFThread(ManualResetEvent interruptprocessingevent, IWFMessageQueue <T> inputqueue, IWFMessageQueue <KRSrcWorkflow.WFProcessingResult> outputqueue, int threadid)
     : base(interruptprocessingevent, inputqueue, outputqueue, threadid)
 {
 }
예제 #7
0
 public WFWorkflowNode(IProcessor <T, ProcessorData> processor, IWFMessageQueue <T> inputqueue, IWFMessageQueue <ProcessorData> outputqueue, ManualResetEvent interruptprocessingevent)
     : base(processor, inputqueue, outputqueue, interruptprocessingevent)
 {
 }