ALE.FileSystem.File.ReadAsyncCallback C# (CSharp) Method

ReadAsyncCallback() static private method

static private ReadAsyncCallback ( IAsyncResult result ) : void
result IAsyncResult
return void
        static void ReadAsyncCallback(IAsyncResult result)
        {
            var state = (ReadAsyncCallbackState)result.AsyncState;
            var bytesRead = state.FileStream.EndRead(result);
            if (bytesRead > 0)
            {
                Interlocked.Add(ref state.RemainingBytes, -1*bytesRead);
                var buffer = new byte[bytesRead];
                Array.Copy(state.Buffer, buffer, bytesRead);
                var callback = state.Callback;
                var remainingBytes = state.RemainingBytes;
                EventLoop.Pend(() =>
                                {
                                    callback(null, remainingBytes, buffer);
                                });
            }
        }