Package io.grpc.protobuf.services
Class BinaryLogProvider.BinaryLogShim
java.lang.Object
io.grpc.protobuf.services.BinaryLogProvider.BinaryLogShim
- All Implemented Interfaces:
ClientInterceptor
- Enclosing class:
BinaryLogProvider
The pipeline of interceptors is hard coded when the
ManagedChannel is created.
This shim interceptor should always be installed as a placeholder. When a call starts,
this interceptor checks with the BinaryLogProvider to see if logging should happen
for this particular ClientCall's method.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<ReqT,RespT>
ClientCall<ReqT, RespT> interceptCall(MethodDescriptor<ReqT, RespT> method, CallOptions callOptions, Channel next)
-
Constructor Details
-
BinaryLogShim
private BinaryLogShim()
-
-
Method Details
-
interceptCall
public <ReqT,RespT> ClientCall<ReqT,RespT> interceptCall(MethodDescriptor<ReqT, RespT> method, CallOptions callOptions, Channel next) Description copied from interface:ClientInterceptorInterceptClientCallcreation by thenextChannel.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 ofnext.newCall().next.newCall()must not be called under a differentContextother than the currentContext. The outcome of such usage is undefined and may cause memory leak due to unbounded chain ofContexts.- Specified by:
interceptCallin interfaceClientInterceptor- Parameters:
method- the remote method to be called.callOptions- the runtime options to be applied to this call.next- the channel which is being intercepted.- Returns:
- the call object for the remote operation, never
null.
-