Home / Function/ writePushPromise() — netty Function Reference

writePushPromise() — netty Function Reference

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

Function java Buffer Allocators calls 3 called by 1

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

codec-http2/src/main/java/io/netty/handler/codec/http2/Http2FrameCodec.java lines 429–451

    private void writePushPromise(final ChannelHandlerContext ctx, Http2PushPromiseFrame pushPromiseFrame,
                                  final ChannelPromise promise) {
        if (isStreamIdValid(pushPromiseFrame.pushStream().id())) {
            encoder().writePushPromise(ctx, pushPromiseFrame.stream().id(), pushPromiseFrame.pushStream().id(),
                    pushPromiseFrame.http2Headers(), pushPromiseFrame.padding(), promise);
        } else if (initializeNewStream(ctx, (DefaultHttp2FrameStream) pushPromiseFrame.pushStream(), promise)) {
            final int streamId = pushPromiseFrame.stream().id();
            encoder().writePushPromise(ctx, streamId, pushPromiseFrame.pushStream().id(),
                    pushPromiseFrame.http2Headers(), pushPromiseFrame.padding(), promise);

            if (promise.isDone()) {
                handleHeaderFuture(promise, streamId);
            } else {
                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);
                });
            }
        }
    }

Domain

Subdomains

Called By

Frequently Asked Questions

What does writePushPromise() do?
writePushPromise() is a function in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2FrameCodec.java.
Where is writePushPromise() defined?
writePushPromise() is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2FrameCodec.java at line 429.
What does writePushPromise() call?
writePushPromise() calls 3 function(s): handleHeaderFuture, id, initializeNewStream.
What calls writePushPromise()?
writePushPromise() 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