private Exception EnqueueOldKeyDecryptedData(byte[] buffer, int offset, int count)
{
lock (this)
{
if (_queuedReadCount + count > MaxQueuedReadBytes)
{
return new IOException(SR.Format(SR.net_auth_ignored_reauth, MaxQueuedReadBytes.ToString(NumberFormatInfo.CurrentInfo)));
}
if (count != 0)
{
// This is inefficient yet simple and that should be a rare case of receiving data encrypted with "old" key.
_queuedReadData = EnsureBufferSize(_queuedReadData, _queuedReadCount, _queuedReadCount + count);
Buffer.BlockCopy(buffer, offset, _queuedReadData, _queuedReadCount, count);
_queuedReadCount += count;
FinishHandshakeRead(LockHandshake);
}
}
return null;
}