private void OnDataReceived(byte[] data, int offset, int length) { while (true) { int left; var commandInfo = CommandReader.GetCommandInfo(data, offset, length, out left); if (CommandReader.NextCommandReader != null) CommandReader = CommandReader.NextCommandReader; if (commandInfo == null) break; ExecuteCommand(commandInfo); if (left <= 0) break; offset = offset + length - left; length = left; } }
void OnConnected() { CommandReader = ProtocolProcessor.CreateHandshakeReader(this); if (Items.Count > 0) Items.Clear(); ProtocolProcessor.SendHandshake(this); }