Package io.grpc.internal
Interfaces and implementations that are internal to gRPC.
All the content under this package and its subpackages are considered annotated with Internal
.
-
Interface Summary Interface Description AbstractClientStream.Sink A sink for outbound operations, separated from the stream simply to avoid name collisions/confusion.AbstractServerStream.Sink A sink for outbound operations, separated from the stream simply to avoid name collisions/confusion.ApplicationThreadDeframer.TransportExecutor ApplicationThreadDeframerListener.TransportExecutor BackoffPolicy Determines how long to wait before doing some action (typically a retry, or a reconnect).BackoffPolicy.Provider CallTracer.Factory ClientCallImpl.ClientStreamProvider Provider ofClientStream
s.ClientStream Extension ofStream
to support client-side termination semantics.ClientStreamListener An observer of client-side stream events.ClientTransport The client-side transport typically encapsulating a single connection to a remote server.ClientTransport.PingCallback A callback that is invoked when the acknowledgement to aClientTransport.ping(io.grpc.internal.ClientTransport.PingCallback, java.util.concurrent.Executor)
is received.ClientTransportFactory Pre-configured factory for creatingConnectionClientTransport
instances.CompositeReadableBuffer.NoThrowReadOperation<T> CompositeReadableBuffer.ReadOperation<T> A simple read operation to perform on a singleReadableBuffer
.ConnectionClientTransport AManagedClientTransport
that is based on a connection.Deframer Interface for deframing gRPC messages.DnsNameResolver.AddressResolver AddressResolver resolves a hostname into a list of addresses.DnsNameResolver.ResourceResolver DnsNameResolver.ResourceResolver
is a Dns ResourceRecord resolver.DnsNameResolver.ResourceResolverFactory DnsNameResolver.ResourceResolverFactory
is a factory for making resource resolvers.Framer Interface for framing gRPC messages.InternalServer An object that accepts new incoming connections on one or more listening socket addresses.JndiResourceResolverFactory.RecordFetcher KeepAliveEnforcer.Ticker KeepAliveManager.KeepAlivePinger LongCounter An interface for a long base counter.ManagedChannelImplBuilder.ChannelBuilderDefaultPortProvider An interface for Transport implementors to provide a default port toNameResolver
for use in cases where the target string doesn't include a port.ManagedChannelImplBuilder.ClientTransportFactoryBuilder An interface for Transport implementors to provide theClientTransportFactory
appropriate for the channel.ManagedClientTransport AClientTransport
that has life-cycle management.ManagedClientTransport.Listener Receives notifications for the transport life-cycle events.MaxConnectionIdleManager.Ticker MessageDeframer.Listener A listener of deframing events.MessageFramer.Sink Sink implemented by the transport layer to receive frames and forward them to their destination.MetadataApplierImpl.MetadataApplierListener MigratingThreadDeframer.Op ObjectPool<T> An object pool.ProxyDetectorImpl.AuthenticationProvider This interface makes unit testing easier by avoiding direct calls to static methods.ReadableBuffer Interface for an abstract byte buffer.RetriableStream.BufferEntry RetryScheduler This interface is used to schedule future retry attempts for a failed operation.ServerImplBuilder.ClientTransportServersBuilder An interface to provide to provide transport specific information for the server.ServerListener A listener to a server for transport creation events.ServerStream Extension ofStream
to support server-side termination semantics.ServerStreamListener An observer of server-side stream events.ServerTransport An inbound connection.ServerTransportListener A observer of a server-side transport for stream creation events.SharedResourceHolder.Resource<T> Defines a resource, and the way to create and destroy instances of it.SharedResourceHolder.ScheduledExecutorFactory Stream A single stream of communication between two end-points within a transport.StreamListener An observer ofStream
events.StreamListener.MessageProducer A producer for deframed gRPC messages.ThreadOptimizedDeframer ADeframer
that optimizations by taking over part of the thread safety.TimeProvider Time source representing the current system time in nanos.TransportProvider Provides transports for sending RPCs.TransportTracer.FlowControlReader An interface for reading the local and remote flow control windows of the transport.WritableBuffer An interface for a byte buffer that can only be written to.WritableBufferAllocator An allocator of buffers provided by the transport implementation toMessageFramer
so it can send chunks of data to the transport in a form that the transport can directly serialize. -
Class Summary Class Description AbstractClientStream The abstract base class forClientStream
implementations.AbstractClientStream.TransportState This should only be called from the transport thread.AbstractReadableBuffer Abstract base class forReadableBuffer
implementations.AbstractServerStream Abstract base class forServerStream
implementations.AbstractServerStream.TransportState This should only be called from the transport thread (except for private interactions withAbstractServerStream
).AbstractStream The stream and stream state as used by the application.AbstractStream.TransportState Stream state as used by the transport.AbstractSubchannel The base interface of the Subchannels returned byLoadBalancer.Helper.createSubchannel(io.grpc.LoadBalancer.CreateSubchannelArgs)
.ApplicationThreadDeframer Sits betweenAbstractStream.TransportState
andMessageDeframer
to deframe in the client thread.ApplicationThreadDeframerListener Listener for when deframing on the application thread, which calls the real listener on the transport thread.AtomicBackoff Along
atomically updated due to errors caused by the value being too small.AtomicLongCounter An implementation ofLongCounter
that is just anAtomicLong
.AutoConfiguredLoadBalancerFactory AutoConfiguredLoadBalancerFactory.EmptyPicker AutoConfiguredLoadBalancerFactory.FailingPicker AutoConfiguredLoadBalancerFactory.NoopLoadBalancer BackoffPolicyRetryScheduler Schedules a retry operation according to aBackoffPolicy
.CallCredentialsApplyingTransportFactory CallTracer A collection of call stats for channelz.ChannelLoggerImpl ChannelTracer Tracks a collections of channel tracing events for a channel/subchannel.ClientCallImpl<ReqT,RespT> Implementation ofClientCall
.ClientTransportFactory.ClientTransportOptions ClientTransportFactory.SwapChannelCredentialsResult CompositeReadableBuffer AReadableBuffer
that is composed of 0 or moreReadableBuffer
s.ConnectivityStateManager Manages connectivity states of the channel.ConnectivityStateManager.Listener ConscryptLoader Utility to load dynamically Conscrypt when it is available.ContextRunnable Utility base implementation ofRunnable
that performs the same function asContext.wrap(Runnable)
without requiring the construction of an additional object.DelayedClientCall<ReqT,RespT> A call that queues requests before a real call is ready to be delegated to.DelayedClientCall.DelayedListener<RespT> DelayedClientTransport A client transport that queues requests before a real transport is available.DelayedClientTransport.PickerState DelayedStream A stream that queues requests before the transport is available, and delegates to a real stream implementation when the transport is available.DelayedStream.DelayedStreamListener DnsNameResolver A DNS-basedNameResolver
.DnsNameResolver.InternalResolutionResult Used as a DNS-based name resolver's internal representation of resolution result.DnsNameResolver.SrvRecord Describes a parsed SRV record.DnsNameResolverProvider A provider forDnsNameResolver
.ExponentialBackoffPolicy Retry Policy for Transport reconnection.ExponentialBackoffPolicy.Provider FailingClientStream An implementation ofClientStream
that fails (by callingClientStreamListener.closed(io.grpc.Status, io.grpc.internal.ClientStreamListener.RpcProgress, io.grpc.Metadata)
) when started, and silently does nothing for the other operations.FailingClientTransport A client transport that creates streams that will immediately fail when started.FixedObjectPool<T> An object pool that always returns the same instance and does nothing when returning the object.ForwardingClientStream ForwardingClientStreamListener ForwardingClientStreamTracer ForwardingConnectionClientTransport ForwardingDeframerListener Forwards listener callbacks to a delegate.ForwardingManagedChannel ForwardingNameResolver A forwarding class to ensure non overridden methods are forwarded to the delegate.ForwardingReadableBuffer Base class for a wrapper around anotherReadableBuffer
.GrpcAttributes Special attributes that are only useful to gRPC.GrpcUtil Common utilities for GRPC.GrpcUtil.AcceptEncodingMarshaller GrpcUtil.AuthorityEscaper Percent encode theauthority
based on https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.GrpcUtil.GrpcBuildVersion GrpcUtil.TimeoutMarshaller Marshals a nanoseconds representation of the timeout to and from a string representation, consisting of an ASCII decimal representation of a number with at most 8 digits, followed by a unit.GzipInflatingBuffer Processes gzip streams, delegating toInflater
to perform on-demand inflation of the deflated blocks.HedgingPolicy Hedging policy data object.Http2ClientStreamTransportState Base implementation for client streams using HTTP2 as the transport.Http2Ping Represents an outstanding PING operation on an HTTP/2 channel.InsightBuilder Builds a concise and readable string that gives insight of the concerned part of the system.InternalHandlerRegistry InternalHandlerRegistry.Builder InternalSubchannel Transports for a singleSocketAddress
.InternalSubchannel.Callback InternalSubchannel.CallTracingTransport InternalSubchannel.Index Index as in 'i', the pointer to an entry.InternalSubchannel.TransportLogger InUseStateAggregator<T> Aggregates the in-use state of a set of objects.JndiResourceResolverFactory JndiResourceResolverFactory
resolves additional records for the DnsNameResolver.JndiResourceResolverFactory.JndiRecordFetcher JndiResourceResolverFactory.JndiResourceResolver JsonParser Parses JSON with as few preconceived notions as possible.JsonUtil Helper utility to work with JSON values in Java types.KeepAliveEnforcer Monitors the client's PING usage to make sure the rate is permitted.KeepAliveEnforcer.SystemTicker KeepAliveManager Manages keepalive pings.KeepAliveManager.ClientKeepAlivePinger Default client sideKeepAliveManager.KeepAlivePinger
.LogExceptionRunnable A simple wrapper for aRunnable
that logs any exception thrown by it, before re-throwing it.LongCounterFactory A factory for creatingLongCounter
objects.ManagedChannelImpl A communication channel for making outgoing RPCs.ManagedChannelImpl.ConfigSelectingClientCall<ReqT,RespT> A client call for a given channel that applies a given config selector when it starts.ManagedChannelImpl.ExecutorHolder Lazily request for Executor from an executor pool.ManagedChannelImpl.RestrictedScheduledExecutor ManagedChannelImplBuilder Default managed channel builder, for usage in Transport implementations.ManagedChannelImplBuilder.DirectAddressNameResolverProvider ManagedChannelImplBuilder.FixedPortProvider Default implementation ofManagedChannelImplBuilder.ChannelBuilderDefaultPortProvider
that returns a fixed port.ManagedChannelImplBuilder.InterceptorFactoryWrapper ManagedChannelImplBuilder.ManagedChannelDefaultPortProvider ManagedChannelImplBuilder.ResolvedNameResolver ManagedChannelImplBuilder.UnsupportedClientTransportFactoryBuilder Convenience ClientTransportFactoryBuilder, throws UnsupportedOperationException().ManagedChannelOrphanWrapper Best effort detecting channels that has not been properly cleaned up.ManagedChannelOrphanWrapper.ManagedChannelReference ManagedChannelServiceConfig ManagedChannelServiceConfig
is a fully parsed and validated representation of service configuration data.ManagedChannelServiceConfig.MethodInfo Equivalent of MethodConfig from a ServiceConfig with restrictions from Channel setting.ManagedChannelServiceConfig.ServiceConfigConvertedSelector MaxConnectionIdleManager Monitors connection idle time; shutdowns the connection if the max connection idle is reached.MessageDeframer Deframer for GRPC frames.MessageDeframer.SingleMessageProducer MessageDeframer.SizeEnforcingInputStream AnInputStream
that enforces theMessageDeframer.SizeEnforcingInputStream.maxMessageSize
limit for compressed frames.MessageFramer Encodes gRPC messages to be delivered via the transport layer which implementsMessageFramer.Sink
.MetadataApplierImpl MetricRecorderImpl Provides a central point for gRPC components to record metric values.MetricRecorderImpl.BatchRecorderImpl Recorder for instrument values produced by a batch callback.MigratingThreadDeframer A deframer that moves decoding between the transport and app threads based on which is more efficient at that moment.MigratingThreadDeframer.MigratingDeframerListener NameResolverFactoryToProviderFacade NoopClientStream An implementation ofClientStream
that silently does nothing for the operations.OobChannel A ManagedChannel backed by a singleInternalSubchannel
and used forLoadBalancer
to its own RPC needs.PickDetailsConsumerImpl Adapter for tracers into details consumers.PickFirstLeafLoadBalancer ALoadBalancer
that provides no load-balancing over the addresses from theNameResolver
.PickFirstLeafLoadBalancer.Index Index as in 'i', the pointer to an entry.PickFirstLeafLoadBalancer.Picker No-op picker which doesn't add any custom picking logic.PickFirstLeafLoadBalancer.PickFirstLeafLoadBalancerConfig PickFirstLeafLoadBalancer.SubchannelData PickFirstLoadBalancer ALoadBalancer
that provides no load-balancing over the addresses from theNameResolver
.PickFirstLoadBalancer.Picker No-op picker which doesn't add any custom picking logic.PickFirstLoadBalancer.PickFirstLoadBalancerConfig PickFirstLoadBalancerProvider Provider for the "pick_first" balancing policy.PickSubchannelArgsImpl Implementation ofLoadBalancer.PickSubchannelArgs
.ProxyDetectorImpl A utility class that detects proxies usingProxySelector
and detects authentication credentials usingAuthenticator
.ReadableBuffers Utility methods for creatingReadableBuffer
instances.ReadableBuffers.BufferInputStream AnInputStream
that is backed by aReadableBuffer
.ReadableBuffers.ByteArrayWrapper AReadableBuffer
that is backed by a byte array.ReadableBuffers.ByteReadableBufferWrapper AReadableBuffer
that is backed by aByteBuffer
.ReflectionLongAdderCounter ALongCounter
that is implemented with a JDK8LongAdder
.Rescheduler Reschedules a runnable lazily.RetriableStream<ReqT> A logicalClientStream
that is retriable.RetriableStream.ChannelBufferMeter Used to keep track of the total amount of memory used to buffer retryable or hedged RPCs for the Channel.RetriableStream.FutureCanceller Allows cancelling a Future without racing with setting the future.RetriableStream.HedgingPlan RetriableStream.RetryPlan RetriableStream.SavedCloseMasterListenerReason RetriableStream.State RetriableStream.Substream A wrapper of a physical stream of a retry/hedging attempt, that comes with some useful attributes.RetriableStream.Throttle Used for retry throttling.RetryingNameResolver This wrapper class can add retry capability to any pollingNameResolver
implementation that supports callingRetryingNameResolver.ResolutionResultListener
s with the outcome of each resolution.RetryPolicy Retry policy data object.ScParser The library built-in implementation of service config parser.SerializeReentrantCallsDirectExecutor Executes a task directly in the calling thread, unless it's a reentrant call in which case the task is enqueued and executed once the calling task completes.SerializingExecutor Executor ensuring that allRunnable
tasks submitted are executed in order using the providedExecutor
, and serially such that no two will ever be running at the same time.SerializingExecutor.AtomicHelper SerializingExecutor.FieldUpdaterAtomicHelper SerializingExecutor.SynchronizedAtomicHelper ServerCallImpl<ReqT,RespT> ServerCallImpl.ServerStreamListenerImpl<ReqT> All of these callbacks are assumed to called on an application thread, and the caller is responsible for handling thrown exceptions.ServerCallInfoImpl<ReqT,RespT> An implementation ofServerStreamTracer.ServerCallInfo
.ServerImpl Default implementation ofServer
, for creation by transports.ServerImpl.ContextCloser ServerImpl.JumpToApplicationThreadServerStreamListener Dispatches callbacks onto an application-provided executor and correctly propagates exceptions.ServerImpl.NoopListener ServerImplBuilder Default builder forServer
instances, for usage in Transport implementations.ServerImplBuilder.DefaultFallbackRegistry ServiceConfigState ServiceConfigState
holds the state of the current service config.ServiceConfigUtil Helper utility to work with service configs.ServiceConfigUtil.LbConfig A LoadBalancingConfig that includes the policy name (the key) and its raw config value (parsed JSON).ServiceConfigUtil.PolicySelection SharedResourceHolder A holder for shared resource singletons.SharedResourceHolder.Instance SharedResourcePool<T> An ObjectPool backed by aSharedResourceHolder.Resource
.SpiffeUtil Provides utilities to manage SPIFFE bundles, extract SPIFFE IDs from X.509 certificate chains, and parse SPIFFE IDs.SpiffeUtil.SpiffeBundle Represents a SPIFFE trust bundle; that is, a map from trust domain to set of trusted certificates.SpiffeUtil.SpiffeId Represents a SPIFFE ID as defined in the SPIFFE standard.SquelchLateMessagesAvailableDeframerListener A delegating Listener that throws away notifications of messagesAvailable() after the deframer has closed or failed.StatsTraceContext The stats and tracing information for a stream.SubchannelChannel TransportFrameUtil Utility functions for transport layer framing.TransportTracer A class for gathering statistics about a transport.TransportTracer.Factory TransportTracer.FlowControlWindows A container that holds the local and remote flow control window sizes. -
Enum Summary Enum Description ClientStreamListener.RpcProgress The progress of the RPC when client stream listener is closed.DnsNameResolver.JdkAddressResolver GrpcUtil.Http2Error All error codes identified by the HTTP/2 spec.GzipInflatingBuffer.State KeepAliveManager.State ManagedChannelImpl.ResolutionState A ResolutionState indicates the status of last name resolution.MessageDeframer.State -
Exception Summary Exception Description AutoConfiguredLoadBalancerFactory.PolicyException