Package io.grpc.servlet
Class ServletServerStream
- java.lang.Object
-
- io.grpc.internal.AbstractStream
-
- io.grpc.internal.AbstractServerStream
-
- io.grpc.servlet.ServletServerStream
-
- All Implemented Interfaces:
MessageFramer.Sink,ServerStream,Stream
final class ServletServerStream extends AbstractServerStream
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classServletServerStream.ByteArrayWritableBufferprivate classServletServerStream.GrpcWriteListener(package private) classServletServerStream.ServletTransportStateprivate classServletServerStream.Sinkprivate static classServletServerStream.TrailerSupplier-
Nested classes/interfaces inherited from class io.grpc.internal.AbstractServerStream
AbstractServerStream.TransportState
-
-
Field Summary
Fields Modifier and Type Field Description private javax.servlet.AsyncContextasyncCtxprivate Attributesattributesprivate java.lang.Stringauthorityprivate static java.util.logging.Loggerloggerprivate InternalLogIdlogIdprivate javax.servlet.http.HttpServletResponserespprivate ServletServerStream.Sinksinkprivate ServletServerStream.ServletTransportStatetransportStateprivate AsyncServletOutputStreamWriterwriter
-
Constructor Summary
Constructors Constructor Description ServletServerStream(javax.servlet.AsyncContext asyncCtx, StatsTraceContext statsTraceCtx, int maxInboundMessageSize, Attributes attributes, java.lang.String authority, InternalLogId logId)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ServletServerStream.SinkabstractServerStreamSink()Sink for transport to be called to perform outbound operations.AttributesgetAttributes()Attributes describing stream.java.lang.StringgetAuthority()Gets the authority this stream is addressed to.intstreamId()The HTTP/2 stream id, or-1if not supported.(package private) static java.lang.StringtoHexString(byte[] bytes, int length)protected ServletServerStream.ServletTransportStatetransportState()Obtain the transport state corresponding to this stream.private voidwriteHeadersToServletResponse(Metadata metadata)-
Methods inherited from class io.grpc.internal.AbstractServerStream
cancel, close, deliverFrame, framer, isReady, setDecompressor, setListener, setOnReadyThreshold, statsTraceContext, writeHeaders
-
Methods inherited from class io.grpc.internal.AbstractStream
endOfMessages, flush, onSendingBytes, optimizeForDirectExecutor, request, setCompressor, setMessageCompression, writeMessage
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.grpc.internal.Stream
flush, optimizeForDirectExecutor, request, setCompressor, setMessageCompression, writeMessage
-
-
-
-
Field Detail
-
logger
private static final java.util.logging.Logger logger
-
transportState
private final ServletServerStream.ServletTransportState transportState
-
sink
private final ServletServerStream.Sink sink
-
asyncCtx
private final javax.servlet.AsyncContext asyncCtx
-
resp
private final javax.servlet.http.HttpServletResponse resp
-
attributes
private final Attributes attributes
-
authority
private final java.lang.String authority
-
logId
private final InternalLogId logId
-
writer
private final AsyncServletOutputStreamWriter writer
-
-
Constructor Detail
-
ServletServerStream
ServletServerStream(javax.servlet.AsyncContext asyncCtx, StatsTraceContext statsTraceCtx, int maxInboundMessageSize, Attributes attributes, java.lang.String authority, InternalLogId logId) throws java.io.IOException- Throws:
java.io.IOException
-
-
Method Detail
-
transportState
protected ServletServerStream.ServletTransportState transportState()
Description copied from class:AbstractStreamObtain the transport state corresponding to this stream. Each stream must have its own unique transport state.- Specified by:
transportStatein classAbstractServerStream
-
getAttributes
public Attributes getAttributes()
Description copied from interface:ServerStreamAttributes describing stream. This is inherited from the transport attributes, and used as the basis ofServerCall.getAttributes().- Specified by:
getAttributesin interfaceServerStream- Overrides:
getAttributesin classAbstractServerStream- Returns:
- Attributes container
-
getAuthority
public java.lang.String getAuthority()
Description copied from interface:ServerStreamGets the authority this stream is addressed to.- Specified by:
getAuthorityin interfaceServerStream- Overrides:
getAuthorityin classAbstractServerStream- Returns:
- the authority string.
nullif not available.
-
streamId
public int streamId()
Description copied from interface:ServerStreamThe HTTP/2 stream id, or-1if not supported.
-
abstractServerStreamSink
protected ServletServerStream.Sink abstractServerStreamSink()
Description copied from class:AbstractServerStreamSink for transport to be called to perform outbound operations. Each stream must have its own unique sink.- Specified by:
abstractServerStreamSinkin classAbstractServerStream
-
writeHeadersToServletResponse
private void writeHeadersToServletResponse(Metadata metadata)
-
toHexString
static java.lang.String toHexString(byte[] bytes, int length)
-
-