예제 #1
0
        private void Register()
        {
            int num = 0;

            _receivers = new Receiver[_ports.Length];
            IPortReceive[] ports = _ports;
            for (int i = 0; i < ports.Length; i++)
            {
                IPortReceive portReceive = ports[i];
                Receiver     receiver    = new GatherPrivateReceiver(portReceive, this);
                _receivers[num++]  = receiver;
                receiver.TaskQueue = base.TaskQueue;
                portReceive.RegisterReceiver(receiver);
                if (_pendingItemCount <= 0)
                {
                    return;
                }
            }
        }
예제 #2
0
        private void Register()
        {
            int num = 0;

            IPortReceive[] ports = _ports;
            for (int i = 0; i < ports.Length; i++)
            {
                IPortReceive port     = ports[i];
                Receiver     receiver = new MultipleItemHelperReceiver(port, this);
                receiver._arbiterContext = num;
                _receivers[num++]        = receiver;
                receiver.TaskQueue       = base.TaskQueue;
            }
            num = 0;
            IPortReceive[] ports2 = _ports;
            for (int j = 0; j < ports2.Length; j++)
            {
                IPortReceive portReceive = ports2[j];
                portReceive.RegisterReceiver(_receivers[num++]);
            }
        }
예제 #3
0
 protected override void Register()
 {
     _port.RegisterReceiver(this);
 }
예제 #4
0
파일: PortTest.cs 프로젝트: kumpera/Ccr
 internal WeirdReceiver(IPortReceive port)
     : base(port, null)
 {
     this.port = port;
     port.RegisterReceiver (this);
 }