System.Runtime.Remoting.Channels.StreamHelper.AsyncCopyStreamReadCallback C# (CSharp) Method

AsyncCopyStreamReadCallback() private static method

private static AsyncCopyStreamReadCallback ( IAsyncResult iar ) : void
iar IAsyncResult
return void
        private static void AsyncCopyStreamReadCallback(IAsyncResult iar)
        {            
            AsyncCopyStreamResult state = (AsyncCopyStreamResult)iar.AsyncState;

            try
            {
                Stream source = state.Source;

                int bytesRead = source.EndRead(iar);
                if (bytesRead == 0)
                {
                    state.SetComplete(null, null);
                }
                else
                if (bytesRead < 0)
                {
                    throw new RemotingException(
                        CoreChannel.GetResourceString("Remoting_Stream_UnknownReadError"));
                }
                else
                {
                    AsyncCopyWriteHelper(state, bytesRead);
                }           
            }
            catch (Exception e)
            {
                state.SetComplete(null, e);                
            }
            catch {
                state.SetComplete(null, new Exception(CoreChannel.GetResourceString("Remoting_nonClsCompliantException")));                
            }
        } // AsyncCopyStreamReadCallback