Home / Function/ writeHeadersFrame() — netty Function Reference

writeHeadersFrame() — netty Function Reference

Architecture documentation for the writeHeadersFrame() function in Http2FrameCodec.java from the netty codebase.

Function java Buffer Allocators calls 3 called by 1

Entity Profile

Dependency Diagram

graph TD
  396fd1f5_befd_2a62_19e3_268bf7458c0e["writeHeadersFrame()"]
  ba77a225_4637_fe77_ee1f_54a9774ca7f8["Http2FrameCodec"]
  396fd1f5_befd_2a62_19e3_268bf7458c0e -->|defined in| ba77a225_4637_fe77_ee1f_54a9774ca7f8
  dabb27f9_26d0_6cce_3476_d90ad2682131["write()"]
  dabb27f9_26d0_6cce_3476_d90ad2682131 -->|calls| 396fd1f5_befd_2a62_19e3_268bf7458c0e
  eec5ebc4_e523_f193_b813_bbf1598e4e9f["id()"]
  396fd1f5_befd_2a62_19e3_268bf7458c0e -->|calls| eec5ebc4_e523_f193_b813_bbf1598e4e9f
  ef6e1c55_359c_e3f4_48fa_592fc9340049["initializeNewStream()"]
  396fd1f5_befd_2a62_19e3_268bf7458c0e -->|calls| ef6e1c55_359c_e3f4_48fa_592fc9340049
  28f3186c_1bcd_32bf_2f79_ac4f7b90705f["handleHeaderFuture()"]
  396fd1f5_befd_2a62_19e3_268bf7458c0e -->|calls| 28f3186c_1bcd_32bf_2f79_ac4f7b90705f
  style 396fd1f5_befd_2a62_19e3_268bf7458c0e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http2/src/main/java/io/netty/handler/codec/http2/Http2FrameCodec.java lines 401–427

    private void writeHeadersFrame(final ChannelHandlerContext ctx, Http2HeadersFrame headersFrame,
                                   ChannelPromise promise) {

        if (isStreamIdValid(headersFrame.stream().id())) {
            encoder().writeHeaders(ctx, headersFrame.stream().id(), headersFrame.headers(), headersFrame.padding(),
                    headersFrame.isEndStream(), promise);
        } else if (initializeNewStream(ctx, (DefaultHttp2FrameStream) headersFrame.stream(), promise)) {
            promise = promise.unvoid();

            final int streamId = headersFrame.stream().id();

            encoder().writeHeaders(ctx, streamId, headersFrame.headers(), headersFrame.padding(),
                    headersFrame.isEndStream(), promise);

            if (!promise.isDone()) {
                numBufferedStreams++;
                // Clean up the stream being initialized if writing the headers fails and also
                // decrement the number of buffered streams.
                promise.addListener((ChannelFutureListener) channelFuture -> {
                    numBufferedStreams--;
                    handleHeaderFuture(channelFuture, streamId);
                });
            } else {
                handleHeaderFuture(promise, streamId);
            }
        }
    }

Domain

Subdomains

Called By

Frequently Asked Questions

What does writeHeadersFrame() do?
writeHeadersFrame() is a function in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2FrameCodec.java.
Where is writeHeadersFrame() defined?
writeHeadersFrame() is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2FrameCodec.java at line 401.
What does writeHeadersFrame() call?
writeHeadersFrame() calls 3 function(s): handleHeaderFuture, id, initializeNewStream.
What calls writeHeadersFrame()?
writeHeadersFrame() is called by 1 function(s): write.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free