// // Copyright (c) ZeroC, Inc. All rights reserved. // namespace Ice { /// /// Base class that allows a server intercept incoming requests. /// The application must derive a concrete class from DispatchInterceptor /// that implements the DispatchInterceptor.dispatch operation. An instance of this derived /// class can be registered with an object adapter like any other servant. /// A dispatch interceptor is useful particularly to automatically retry requests /// that have failed due to a recoverable error condition. /// public abstract class DispatchInterceptor : ObjectImpl { /// /// Called by the Ice run time to dispatch an incoming request. The implementation /// of dispatch must dispatch the request to the actual servant. /// /// The details of the incoming request. /// The task if dispatched asynchronously, null otherwise. public abstract System.Threading.Tasks.Task dispatch(Request request); public override System.Threading.Tasks.Task iceDispatch(IceInternal.Incoming inc, Current current) { return dispatch(inc); } } }