Class MonitoringClientInterceptor

    • Method Detail

      • interceptCall

        public <R,​S> ClientCall<R,​S> interceptCall​(MethodDescriptor<R,​S> methodDescriptor,
                                                               CallOptions callOptions,
                                                               Channel channel)
        Description copied from interface: ClientInterceptor
        Intercept ClientCall creation by the next Channel.

        Many variations of interception are possible. Complex implementations may return a wrapper around the result of next.newCall(), whereas a simpler implementation may just modify the header metadata prior to returning the result of next.newCall().

        next.newCall() must not be called under a different Context other than the current Context. The outcome of such usage is undefined and may cause memory leak due to unbounded chain of Contexts.

        Specified by:
        interceptCall in interface ClientInterceptor
        Parameters:
        methodDescriptor - the remote method to be called.
        callOptions - the runtime options to be applied to this call.
        channel - the channel which is being intercepted.
        Returns:
        the call object for the remote operation, never null.