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 class
ServletServerStream.ByteArrayWritableBuffer
private class
ServletServerStream.GrpcWriteListener
(package private) class
ServletServerStream.ServletTransportState
private class
ServletServerStream.Sink
private static class
ServletServerStream.TrailerSupplier
-
Nested classes/interfaces inherited from class io.grpc.internal.AbstractServerStream
AbstractServerStream.TransportState
-
-
Field Summary
Fields Modifier and Type Field Description private javax.servlet.AsyncContext
asyncCtx
private Attributes
attributes
private java.lang.String
authority
private static java.util.logging.Logger
logger
private InternalLogId
logId
private javax.servlet.http.HttpServletResponse
resp
private ServletServerStream.Sink
sink
private ServletServerStream.ServletTransportState
transportState
private AsyncServletOutputStreamWriter
writer
-
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.Sink
abstractServerStreamSink()
Sink for transport to be called to perform outbound operations.Attributes
getAttributes()
Attributes describing stream.java.lang.String
getAuthority()
Gets the authority this stream is addressed to.int
streamId()
The HTTP/2 stream id, or-1
if not supported.(package private) static java.lang.String
toHexString(byte[] bytes, int length)
protected ServletServerStream.ServletTransportState
transportState()
Obtain the transport state corresponding to this stream.private void
writeHeadersToServletResponse(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:AbstractStream
Obtain the transport state corresponding to this stream. Each stream must have its own unique transport state.- Specified by:
transportState
in classAbstractServerStream
-
getAttributes
public Attributes getAttributes()
Description copied from interface:ServerStream
Attributes describing stream. This is inherited from the transport attributes, and used as the basis ofServerCall.getAttributes()
.- Specified by:
getAttributes
in interfaceServerStream
- Overrides:
getAttributes
in classAbstractServerStream
- Returns:
- Attributes container
-
getAuthority
public java.lang.String getAuthority()
Description copied from interface:ServerStream
Gets the authority this stream is addressed to.- Specified by:
getAuthority
in interfaceServerStream
- Overrides:
getAuthority
in classAbstractServerStream
- Returns:
- the authority string.
null
if not available.
-
streamId
public int streamId()
Description copied from interface:ServerStream
The HTTP/2 stream id, or-1
if not supported.
-
abstractServerStreamSink
protected ServletServerStream.Sink abstractServerStreamSink()
Description copied from class:AbstractServerStream
Sink for transport to be called to perform outbound operations. Each stream must have its own unique sink.- Specified by:
abstractServerStreamSink
in classAbstractServerStream
-
writeHeadersToServletResponse
private void writeHeadersToServletResponse(Metadata metadata)
-
toHexString
static java.lang.String toHexString(byte[] bytes, int length)
-
-