Home / Class/ QuicStreamIdGenerator Class — netty Architecture

QuicStreamIdGenerator Class — netty Architecture

Architecture documentation for the QuicStreamIdGenerator class in QuicStreamIdGenerator.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  288e0499_aac8_dfdc_41fa_b1e1eb9fe81d["QuicStreamIdGenerator"]
  bb0c5d7d_a2ff_6d09_b3a7_7b1d522db225["QuicStreamIdGenerator.java"]
  288e0499_aac8_dfdc_41fa_b1e1eb9fe81d -->|defined in| bb0c5d7d_a2ff_6d09_b3a7_7b1d522db225
  cc5f7fd3_1976_af9e_00d7_99459ba6863e["QuicStreamIdGenerator()"]
  288e0499_aac8_dfdc_41fa_b1e1eb9fe81d -->|method| cc5f7fd3_1976_af9e_00d7_99459ba6863e
  d899c888_b7db_6db1_ba17_b6b6973d0b88["nextStreamId()"]
  288e0499_aac8_dfdc_41fa_b1e1eb9fe81d -->|method| d899c888_b7db_6db1_ba17_b6b6973d0b88

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicStreamIdGenerator.java lines 21–41

final class QuicStreamIdGenerator {
    private long nextBidirectionalStreamId;
    private long nextUnidirectionalStreamId;

    QuicStreamIdGenerator(boolean server) {
        // See https://quicwg.org/base-drafts/rfc9000.html#name-stream-types-and-identifier
        nextBidirectionalStreamId = server ? 1 : 0;
        nextUnidirectionalStreamId = server ? 3 : 2;
    }

    long nextStreamId(boolean bidirectional) {
        if (bidirectional) {
            long stream = nextBidirectionalStreamId;
            nextBidirectionalStreamId += 4;
            return stream;
        }
        long stream = nextUnidirectionalStreamId;
        nextUnidirectionalStreamId += 4;
        return stream;
    }
}

Frequently Asked Questions

What is the QuicStreamIdGenerator class?
QuicStreamIdGenerator is a class in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicStreamIdGenerator.java.
Where is QuicStreamIdGenerator defined?
QuicStreamIdGenerator is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicStreamIdGenerator.java at line 21.

Analyze Your Own Codebase

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

Try Supermodel Free