public MemoryStreamData Encode(CommandPacket commandPacket) { MemoryStreamData memoryStreamDataInstance = ClientProtocolInstancesCache.GetMemoryStreamDataInstance(); ProtocolBuffer protocolBufferInstance = ClientProtocolInstancesCache.GetProtocolBufferInstance(); List <Command> commands = commandPacket.Commands; int count = commands.Count; for (int i = 0; i < count; i++) { this.commandsCodec.Encode(protocolBufferInstance, commands[i]); } this.protocol.WrapPacket(protocolBufferInstance, memoryStreamDataInstance); ClientProtocolInstancesCache.ReleaseProtocolBufferInstance(protocolBufferInstance); return(memoryStreamDataInstance); }
public bool TryDecode(out CommandPacket commandPacket) { commandPacket = null; if (this.partialReceivedData.Length == 0L) { return(false); } ProtocolBuffer protocolBufferInstance = ClientProtocolInstancesCache.GetProtocolBufferInstance(); bool flag = this.TryUnwrapPacket(protocolBufferInstance); if (flag) { this.KeepPartialReceivedData(); commandPacket = this.DecodePacket(protocolBufferInstance); } ClientProtocolInstancesCache.ReleaseProtocolBufferInstance(protocolBufferInstance); return(flag); }
public void FreeProtocolBuffer(ProtocolBuffer protocolBuffer) { ClientProtocolInstancesCache.ReleaseProtocolBufferInstance(protocolBuffer); }