Package com.google.api.gax.httpjson
Class HttpJsonTransportChannel
- java.lang.Object
-
- com.google.api.gax.httpjson.HttpJsonTransportChannel
-
- All Implemented Interfaces:
BackgroundResource
,TransportChannel
,AutoCloseable
@InternalExtensionOnly public abstract class HttpJsonTransportChannel extends Object implements TransportChannel
Implementation of TransportChannel based on http/json.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HttpJsonTransportChannel.Builder
-
Constructor Summary
Constructors Constructor Description HttpJsonTransportChannel()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
awaitTermination(long duration, TimeUnit unit)
Blocks until all work has completed execution after a shutdown request, or the timeout occurs, or the current thread is interrupted, whichever happens first.void
close()
static HttpJsonTransportChannel
create(ManagedHttpJsonChannel channel)
HttpJsonChannel
getChannel()
The channel in use.HttpJsonCallContext
getEmptyCallContext()
Returns an emptyApiCallContext
that is compatible with thisTransportChannel
.static String
getHttpJsonTransportName()
The name of the Http-JSON transport.abstract ManagedHttpJsonChannel
getManagedChannel()
The channel in use.String
getTransportName()
The name of the transport.boolean
isShutdown()
Returns true if this background resource has been shut down.boolean
isTerminated()
Returns true if all work has completed following shut down.static HttpJsonTransportChannel.Builder
newBuilder()
void
shutdown()
Initiates an orderly shutdown in which previously submitted work is finished, but no new work will be accepted.void
shutdownNow()
Attempts to stop all actively executing work and halts the processing of waiting work.
-
-
-
Method Detail
-
getHttpJsonTransportName
public static String getHttpJsonTransportName()
The name of the Http-JSON transport.
-
getTransportName
public String getTransportName()
Description copied from interface:TransportChannel
The name of the transport.This string can be used for identifying transports for switching logic.
- Specified by:
getTransportName
in interfaceTransportChannel
-
getEmptyCallContext
public HttpJsonCallContext getEmptyCallContext()
Description copied from interface:TransportChannel
Returns an emptyApiCallContext
that is compatible with thisTransportChannel
.- Specified by:
getEmptyCallContext
in interfaceTransportChannel
-
getManagedChannel
public abstract ManagedHttpJsonChannel getManagedChannel()
The channel in use.
-
getChannel
public HttpJsonChannel getChannel()
The channel in use.
-
shutdown
public void shutdown()
Description copied from interface:BackgroundResource
Initiates an orderly shutdown in which previously submitted work is finished, but no new work will be accepted. Invocation has no additional effect if already shut down.This method does not wait for previously submitted work to complete execution. Use awaitTermination to do that.
- Specified by:
shutdown
in interfaceBackgroundResource
-
isShutdown
public boolean isShutdown()
Description copied from interface:BackgroundResource
Returns true if this background resource has been shut down.- Specified by:
isShutdown
in interfaceBackgroundResource
-
isTerminated
public boolean isTerminated()
Description copied from interface:BackgroundResource
Returns true if all work has completed following shut down. Note that isTerminated is never true unless either shutdown or shutdownNow was called first.- Specified by:
isTerminated
in interfaceBackgroundResource
-
shutdownNow
public void shutdownNow()
Description copied from interface:BackgroundResource
Attempts to stop all actively executing work and halts the processing of waiting work.This method does not wait for actively executing work to terminate. Use awaitTermination to do that.
There are no guarantees beyond best-effort attempts to stop processing actively executing work. For example, typical implementations will cancel via Thread.interrupt(), so any task that fails to respond to interrupts may never terminate.
- Specified by:
shutdownNow
in interfaceBackgroundResource
-
awaitTermination
public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException
Description copied from interface:BackgroundResource
Blocks until all work has completed execution after a shutdown request, or the timeout occurs, or the current thread is interrupted, whichever happens first.- Specified by:
awaitTermination
in interfaceBackgroundResource
- Throws:
InterruptedException
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
-
newBuilder
public static HttpJsonTransportChannel.Builder newBuilder()
-
create
public static HttpJsonTransportChannel create(ManagedHttpJsonChannel channel)
-
-