internal void FreeReceiveDeSerializer() { if (ReceiveDeSerializer != null) { ReceiveDeSerializer.Free(); ReceiveDeSerializer = null; } if (ReceiveJsonParser != null) { ReceiveJsonParser.Free(); ReceiveJsonParser = null; } }
internal void FreeReceiveDeSerializer() { BinarySerialize.DeSerializer deSerializer = Interlocked.Exchange(ref ReceiveDeSerializer, null); if (deSerializer != null) { deSerializer.Free(); } Json.Parser parser = Interlocked.Exchange(ref ReceiveJsonParser, null); if (parser != null) { parser.Free(); } }
internal bool DeSerialize <valueType>(ref SubArray <byte> data, ref valueType value) where valueType : struct { BinarySerialize.DeSerializer deSerializer = Interlocked.Exchange(ref ReceiveDeSerializer, null); if (deSerializer == null) { deSerializer = BinarySerialize.DeSerializer.YieldPool.Default.Pop() ?? new BinarySerialize.DeSerializer(); deSerializer.SetTcpServer(); } bool isValue = deSerializer.DeSerializeTcpServer(ref data, ref value); if (Interlocked.CompareExchange(ref ReceiveDeSerializer, deSerializer, null) != null) { deSerializer.Free(); } return(isValue); }
internal void FreeSerializer() { OutputStream = null; if (ReceiveDeSerializer != null) { ReceiveDeSerializer.Free(); ReceiveDeSerializer = null; } if (ReceiveJsonParser != null) { ReceiveJsonParser.Free(); ReceiveJsonParser = null; } if (OutputSerializer != null) { OutputSerializer.Free(); OutputSerializer = null; } if (OutputJsonSerializer != null) { OutputJsonSerializer.Free(); OutputJsonSerializer = null; } }