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; }