SpdyHttpResponseStreamIdHandler Class — netty Architecture
Architecture documentation for the SpdyHttpResponseStreamIdHandler class in SpdyHttpResponseStreamIdHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD ada1cbd9_2a06_e5f3_e6aa_cfcab58b75c1["SpdyHttpResponseStreamIdHandler"] 432b59f8_5e47_95c3_f2c2_37b649bd7b8c["SpdyHttpResponseStreamIdHandler.java"] ada1cbd9_2a06_e5f3_e6aa_cfcab58b75c1 -->|defined in| 432b59f8_5e47_95c3_f2c2_37b649bd7b8c e8ef8b2d_d111_0722_65a6_751a42c53c44["SpdyHttpResponseStreamIdHandler()"] ada1cbd9_2a06_e5f3_e6aa_cfcab58b75c1 -->|method| e8ef8b2d_d111_0722_65a6_751a42c53c44 437aff7b_0114_cb75_2581_50e43025431f["acceptInboundMessage()"] ada1cbd9_2a06_e5f3_e6aa_cfcab58b75c1 -->|method| 437aff7b_0114_cb75_2581_50e43025431f 656c6adf_eaac_8297_c802_85f8b56ccb72["encode()"] ada1cbd9_2a06_e5f3_e6aa_cfcab58b75c1 -->|method| 656c6adf_eaac_8297_c802_85f8b56ccb72 ec40cfc6_a422_59cd_081e_6541109d600d["decode()"] ada1cbd9_2a06_e5f3_e6aa_cfcab58b75c1 -->|method| ec40cfc6_a422_59cd_081e_6541109d600d
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHttpResponseStreamIdHandler.java lines 33–72
public class SpdyHttpResponseStreamIdHandler extends
MessageToMessageCodec<Object, HttpMessage> {
private static final Integer NO_ID = -1;
private final Queue<Integer> ids = new ArrayDeque<Integer>();
public SpdyHttpResponseStreamIdHandler() {
super(Object.class, HttpMessage.class);
}
@Override
public boolean acceptInboundMessage(Object msg) throws Exception {
return msg instanceof HttpMessage || msg instanceof SpdyRstStreamFrame;
}
@Override
protected void encode(ChannelHandlerContext ctx, HttpMessage msg, List<Object> out) throws Exception {
Integer id = ids.poll();
if (id != null && id.intValue() != NO_ID && !msg.headers().contains(SpdyHttpHeaders.Names.STREAM_ID)) {
msg.headers().setInt(Names.STREAM_ID, id);
}
out.add(ReferenceCountUtil.retain(msg));
}
@Override
protected void decode(ChannelHandlerContext ctx, Object msg, List<Object> out) throws Exception {
if (msg instanceof HttpMessage) {
boolean contains = ((HttpMessage) msg).headers().contains(SpdyHttpHeaders.Names.STREAM_ID);
if (!contains) {
ids.add(NO_ID);
} else {
ids.add(((HttpMessage) msg).headers().getInt(Names.STREAM_ID));
}
} else if (msg instanceof SpdyRstStreamFrame) {
ids.remove(((SpdyRstStreamFrame) msg).streamId());
}
out.add(ReferenceCountUtil.retain(msg));
}
}
Defined In
Source
Frequently Asked Questions
What is the SpdyHttpResponseStreamIdHandler class?
SpdyHttpResponseStreamIdHandler is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHttpResponseStreamIdHandler.java.
Where is SpdyHttpResponseStreamIdHandler defined?
SpdyHttpResponseStreamIdHandler is defined in codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHttpResponseStreamIdHandler.java at line 33.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free