Package io.grpc.inprocess
Class InProcessServer
java.lang.Object
io.grpc.inprocess.InProcessServer
- All Implemented Interfaces:
InternalServer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final SocketAddress
private ServerListener
private final int
private static final ConcurrentMap
<String, InProcessServer> private ScheduledExecutorService
Only used to make sure the scheduler has at least one reference.private final ObjectPool
<ScheduledExecutorService> Defaults to be a SharedResourcePool.private boolean
private final List
<ServerStreamTracer.Factory> -
Constructor Summary
ConstructorsConstructorDescriptionInProcessServer
(InProcessServerBuilder builder, List<? extends ServerStreamTracer.Factory> streamTracerFactories) -
Method Summary
Modifier and TypeMethodDescription(package private) static InProcessServer
findServer
(SocketAddress addr) Returns the first listening socket address.List
<? extends SocketAddress> Returns a list of listening socket addresses.Returns the first listen socket stats of this server.Returns a list of listen socket stats of this server.(package private) int
(package private) ObjectPool
<ScheduledExecutorService> (package private) List
<ServerStreamTracer.Factory> (package private) ServerTransportListener
register
(InProcessTransport transport) private void
void
shutdown()
Initiates an orderly shutdown of the server.void
start
(ServerListener serverListener) Starts transport.toString()
private void
-
Field Details
-
registry
-
listenAddress
-
maxInboundMetadataSize
private final int maxInboundMetadataSize -
streamTracerFactories
-
listener
-
shutdown
private boolean shutdown -
schedulerPool
Defaults to be a SharedResourcePool. -
scheduler
Only used to make sure the scheduler has at least one reference. Since child transports can outlive this server, they must get their own reference.
-
-
Constructor Details
-
InProcessServer
InProcessServer(InProcessServerBuilder builder, List<? extends ServerStreamTracer.Factory> streamTracerFactories)
-
-
Method Details
-
findServer
-
start
Description copied from interface:InternalServer
Starts transport. Implementations must not calllistener
until afterstart()
returns. The method only returns after it has done the equivalent of bind()ing, so it will be able to service any connections created after returning.- Specified by:
start
in interfaceInternalServer
- Parameters:
serverListener
- non-null
listener of server events- Throws:
IOException
- if unable to bind
-
registerInstance
- Throws:
IOException
-
getListenSocketAddress
Description copied from interface:InternalServer
Returns the first listening socket address. May change afterInternalServer.start(ServerListener)
is called.- Specified by:
getListenSocketAddress
in interfaceInternalServer
-
getListenSocketAddresses
Description copied from interface:InternalServer
Returns a list of listening socket addresses. May change afterInternalServer.start(ServerListener)
is called.- Specified by:
getListenSocketAddresses
in interfaceInternalServer
-
getListenSocketStats
Description copied from interface:InternalServer
Returns the first listen socket stats of this server. May returnnull
.- Specified by:
getListenSocketStats
in interfaceInternalServer
-
getListenSocketStatsList
Description copied from interface:InternalServer
Returns a list of listen socket stats of this server. May returnnull
.- Specified by:
getListenSocketStatsList
in interfaceInternalServer
-
shutdown
public void shutdown()Description copied from interface:InternalServer
Initiates an orderly shutdown of the server. Existing transports continue, but new transports will not be created (onceServerListener.serverShutdown()
callback is called). This method may only be called once. Blocks until the listening socket(s) have been closed. If interrupted, this method will not wait for the close to complete, but it will happen asynchronously.- Specified by:
shutdown
in interfaceInternalServer
-
unregisterInstance
private void unregisterInstance() -
toString
-
register
-
getScheduledExecutorServicePool
ObjectPool<ScheduledExecutorService> getScheduledExecutorServicePool() -
getMaxInboundMetadataSize
int getMaxInboundMetadataSize() -
getStreamTracerFactories
List<ServerStreamTracer.Factory> getStreamTracerFactories()
-