public void ResetState()
{
ready = false;
headerData = new ArraySegment <byte>();
expectedContentLength = 0;
receivedContentLength = 0;
contentData = new ArraySegment <byte>();
readerStorage = Storage.None;
contentStorage = Storage.None;
ResetParser(ResetReason.ResetStateCalled);
if (buffer1 != null)
{
buffer1UnusedCount = (buffer1.Count <= 0) ? buffer1UnusedCount + 1 : 0;
if (buffer1.Capacity <= MaximumHeadersSize && buffer1UnusedCount < 8)
{
buffer1.Clear();
}
else
{
buffer1.Free();
}
}
if (buffer2 != null)
{
buffer2.Free();
}
if (e1 != null)
{
e1.Dispose();
e1 = null;
}
keepAliveRecived = 0;
state = StreamState.WaitingHeaders;
}