internal static ReadOnlySequenceProtoReader GetRecycled() { var tmp = s_lastReader; s_lastReader = null; return(tmp); }
/// <summary> /// Creates a new reader against a multi-segment buffer /// </summary> /// <param name="source">The source buffer</param> /// <param name="state">Reader state</param> /// <param name="model">The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects</param> /// <param name="context">Additional context about this serialization operation</param> public static ProtoReader Create(out State state, ReadOnlySequence <byte> source, TypeModel model, SerializationContext context = null) { var reader = ReadOnlySequenceProtoReader.GetRecycled() ?? new ReadOnlySequenceProtoReader(); reader.Init(out state, source, model, context); return(reader); }
internal override void Recycle() { Dispose(); s_lastReader = this; }