Package io.grpc
Class Channel
- java.lang.Object
-
- io.grpc.Channel
-
- Direct Known Subclasses:
ManagedChannel
@ThreadSafe public abstract class Channel extends Object
A virtual connection to a conceptual endpoint, to perform RPCs. A channel is free to have zero or many actual connections to the endpoint based on configuration, load, etc. A channel is also free to determine which actual endpoints to use and may change it every RPC, permitting client-side load balancing. Applications are generally expected to use stubs instead of calling this class directly.Applications can add common cross-cutting behaviors to stubs by decorating Channel implementations using
ClientInterceptor. It is expected that most application code will not use this class directly but rather work with stubs that have been bound to a Channel that was decorated during application initialization.
-
-
Constructor Summary
Constructors Constructor Description Channel()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract Stringauthority()The authority of the destination this channel connects to.abstract <RequestT,ResponseT>
ClientCall<RequestT,ResponseT>newCall(MethodDescriptor<RequestT,ResponseT> methodDescriptor, CallOptions callOptions)Create aClientCallto the remote operation specified by the givenMethodDescriptor.
-
-
-
Method Detail
-
newCall
public abstract <RequestT,ResponseT> ClientCall<RequestT,ResponseT> newCall(MethodDescriptor<RequestT,ResponseT> methodDescriptor, CallOptions callOptions)
Create aClientCallto the remote operation specified by the givenMethodDescriptor. The returnedClientCalldoes not trigger any remote behavior untilClientCall.start(ClientCall.Listener, Metadata)is invoked.- Parameters:
methodDescriptor- describes the name and parameter types of the operation to call.callOptions- runtime options to be applied to this call.- Returns:
- a
ClientCallbound to the specified method. - Since:
- 1.0.0
-
authority
public abstract String authority()
The authority of the destination this channel connects to. Typically this is in the formathost:port.- Since:
- 1.0.0
-
-