예제 #1
0
 // timetout tracking
 private IDisposable StartTrackingOperation(ChannelType channel)
 {
     if (_params.TrackServiceCallTimeouts)
     {
         return(_timeoutTracker.StartTrackingOperation(CaptureRequestContext(channel)));
     }
     else
     {
         return(null);
     }
 }
예제 #2
0
 virtual public Func <ChannelType, int> UseChannel()
 {
     if (_params.TrackServiceCallTimeouts)
     {
         return((channel) =>
         {
             using (_timeoutTracker.StartTrackingOperation(channel))
             {
                 return _useChannelStats.CallFuncAndRecordStats(
                     () => UseChannelImpl()(channel),
                     RelaxedExceptionPolicy);
             }
         });
     }
     else
     {
         return((channel) =>
         {
             return _useChannelStats.CallFuncAndRecordStats(
                 () => UseChannelImpl()(channel),
                 RelaxedExceptionPolicy);
         });
     }
 }