// timetout tracking private IDisposable StartTrackingOperation(ChannelType channel) { if (_params.TrackServiceCallTimeouts) { return(_timeoutTracker.StartTrackingOperation(CaptureRequestContext(channel))); } else { return(null); } }
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); }); } }