Class InProcessChannelBuilder.InProcessClientTransportFactory
java.lang.Object
io.grpc.inprocess.InProcessChannelBuilder.InProcessClientTransportFactory
- All Implemented Interfaces:
ClientTransportFactory, Closeable, AutoCloseable
- Enclosing class:
InProcessChannelBuilder
static final class InProcessChannelBuilder.InProcessClientTransportFactory
extends Object
implements ClientTransportFactory
Creates InProcess transports. Exposed for internal use, as it should be private.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ClientTransportFactory
ClientTransportFactory.ClientTransportOptions, ClientTransportFactory.SwapChannelCredentialsResult -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate longprivate booleanprivate final booleanprivate final intprivate final ScheduledExecutorServiceprivate final boolean -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateInProcessClientTransportFactory(ScheduledExecutorService scheduledExecutorService, int maxInboundMetadataSize, boolean includeCauseWithStatus, long assumedMessageSize) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Releases any resources.Returns an executor for scheduling provided by the transport.Collection<Class<? extends SocketAddress>> Returns theSocketAddresstypes this transport supports.newClientTransport(SocketAddress addr, ClientTransportFactory.ClientTransportOptions options, ChannelLogger channelLogger) Creates an unstarted transport for exclusive use.swapChannelCredentials(ChannelCredentials channelCreds) Swaps to a new ChannelCredentials with all other settings unchanged.
-
Field Details
-
timerService
-
maxInboundMetadataSize
private final int maxInboundMetadataSize -
closed
private boolean closed -
includeCauseWithStatus
private final boolean includeCauseWithStatus -
assumedMessageSize
private long assumedMessageSize
-
-
Constructor Details
-
InProcessClientTransportFactory
private InProcessClientTransportFactory(@Nullable ScheduledExecutorService scheduledExecutorService, int maxInboundMetadataSize, boolean includeCauseWithStatus, long assumedMessageSize)
-
-
Method Details
-
newClientTransport
public ConnectionClientTransport newClientTransport(SocketAddress addr, ClientTransportFactory.ClientTransportOptions options, ChannelLogger channelLogger) Description copied from interface:ClientTransportFactoryCreates an unstarted transport for exclusive use. Ownership ofoptionsis passed to the callee; the caller should not reuse or read from the options after this method is called.- Specified by:
newClientTransportin interfaceClientTransportFactory- Parameters:
addr- the address that the transport is connected tooptions- additional configurationchannelLogger- logger for the transport.
-
getScheduledExecutorService
Description copied from interface:ClientTransportFactoryReturns an executor for scheduling provided by the transport. The service should be configured to allow cancelled scheduled runnables to be GCed.The executor should not be used after the factory has been closed. The caller should ensure any outstanding tasks are cancelled before the factory is closed. However, it is a known issue that ClientCallImpl may use this executor after close, so implementations should not go out of their way to prevent usage.
- Specified by:
getScheduledExecutorServicein interfaceClientTransportFactory
-
swapChannelCredentials
public ClientTransportFactory.SwapChannelCredentialsResult swapChannelCredentials(ChannelCredentials channelCreds) Description copied from interface:ClientTransportFactorySwaps to a new ChannelCredentials with all other settings unchanged. Returns null if the ChannelCredentials is not supported by the current ClientTransportFactory settings.- Specified by:
swapChannelCredentialsin interfaceClientTransportFactory
-
close
public void close()Description copied from interface:ClientTransportFactoryReleases any resources.After this method has been called, it's no longer valid to call
ClientTransportFactory.newClientTransport(SocketAddress, ClientTransportFactory.ClientTransportOptions, ChannelLogger). No guarantees about thread-safety are made.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceClientTransportFactory- Specified by:
closein interfaceCloseable
-
getSupportedSocketAddressTypes
Description copied from interface:ClientTransportFactoryReturns theSocketAddresstypes this transport supports.- Specified by:
getSupportedSocketAddressTypesin interfaceClientTransportFactory
-