Exemple #1
0
 public Conveyor(ProcessPacketDelegate processPacketDelegate, object context = null)
 {
     _dataAvailable         = new ManualResetEventSlim(false);
     _packetsQueue          = new ConcurrentQueue <T>();
     _processPacketDelegate = processPacketDelegate ?? throw new ArgumentNullException(nameof(processPacketDelegate));
     _threadStatus          = ThreadStatus.NotStarted;
     _context = context;
 }
        protected void RegisterPacket(Proto.MsgId msgId, ProcessPacketDelegate callback)
        {
            if (!_msgHandler.ContainsKey(msgId))
            {
                _msgHandler.Add(msgId, null);
            }

            _msgHandler[msgId] = _msgHandler[msgId] + callback;
        }