public static void ReturnWriter(Utf8JsonWriter writer) { Debug.Assert(t_threadLocalState != null); ThreadLocalState state = t_threadLocalState; writer.ResetAllStateForCacheReuse(); int rentedWriters = --state.RentedWriters; Debug.Assert((rentedWriters == 0) == ReferenceEquals(state.Writer, writer)); }
public static void ReturnWriterAndBuffer(Utf8JsonWriter writer, PooledByteBufferWriter bufferWriter) { Debug.Assert(t_threadLocalState != null); ThreadLocalState state = t_threadLocalState; writer.ResetAllStateForCacheReuse(); bufferWriter.ClearAndReturnBuffers(); int rentedWriters = --state.RentedWriters; Debug.Assert((rentedWriters == 0) == (ReferenceEquals(state.BufferWriter, bufferWriter) && ReferenceEquals(state.Writer, writer))); }