예제 #1
0
 dispatch__(IceInternal.Incoming inc, Current current)
 {
     try
     {
         DispatchStatus status = dispatch(inc);
         if (status != DispatchStatus.DispatchAsync)
         {
             //
             // Make sure 'inc' owns the connection etc.
             //
             inc.killAsync();
         }
         return(status);
     }
     catch (ResponseSentException)
     {
         return(DispatchStatus.DispatchAsync);
     }
     catch (System.Exception)
     {
         try
         {
             inc.killAsync();
             throw;
         }
         catch (ResponseSentException)
         {
             return(DispatchStatus.DispatchAsync);
         }
     }
 }
예제 #2
0
        private void EmitStatus(DispatchStatus status)
        {
            DispatchStatus = status;

            if (_action != null)
            {
                _action.Invoke(this, status);
            }
        }
 internal DispatchResult(DispatchStatus status)
     : this()
 {
     _status = status;
 }