private int StartReading(byte[] buffer, int offset, int count, AsyncProtocolRequest asyncRequest)
{
int num = 0;
Label_0002:
if (asyncRequest != null)
{
asyncRequest.SetNextRequest(buffer, offset, count, _ResumeAsyncReadCallback);
}
int userResult = this._SslState.CheckEnqueueRead(buffer, offset, count, asyncRequest);
switch (userResult)
{
case 0:
return 0;
case -1:
num = this.StartFrameHeader(buffer, offset, count, asyncRequest);
if (num == -1)
{
goto Label_0002;
}
return num;
}
if (asyncRequest != null)
{
asyncRequest.CompleteUser(userResult);
}
return userResult;
}