[Modify] Polish it

This commit is contained in:
sta 2016-06-22 15:11:33 +09:00
parent e2ab760ca6
commit 40c993a2de

View File

@ -650,28 +650,33 @@ namespace WebSocketSharp
}
internal static void ReadBytesAsync (
this Stream stream, int length, Action<byte[]> completed, Action<Exception> error)
this Stream stream, int length, Action<byte[]> completed, Action<Exception> error
)
{
var buff = new byte[length];
var offset = 0;
var retry = 0;
AsyncCallback callback = null;
callback = ar => {
callback =
ar => {
try {
var nread = stream.EndRead (ar);
if (nread == 0 && retry < _retry) {
retry++;
stream.BeginRead (buff, offset, length, callback, null);
return;
}
else if (nread == 0 || nread == length) {
if (nread == 0 || nread == length) {
if (completed != null)
completed (buff.SubArray (0, offset + nread));
return;
}
else {
retry = 0;
}
offset += nread;
length -= nread;