Home / Function/ streamSend() — netty Function Reference

streamSend() — netty Function Reference

Architecture documentation for the streamSend() function in QuicheQuicChannel.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  8d32e90a_021a_8af9_fddb_430d9ca79317["streamSend()"]
  3c534d05_bb5b_c991_5e03_7ec94e739cf7["QuicheQuicChannel"]
  8d32e90a_021a_8af9_fddb_430d9ca79317 -->|defined in| 3c534d05_bb5b_c991_5e03_7ec94e739cf7
  d1677a38_89f2_14d4_c465_cc77599336d5["streamSend0()"]
  8d32e90a_021a_8af9_fddb_430d9ca79317 -->|calls| d1677a38_89f2_14d4_c465_cc77599336d5
  babedc0a_1d7d_a309_1480_38ccb9d490af["connectionAddressChecked()"]
  8d32e90a_021a_8af9_fddb_430d9ca79317 -->|calls| babedc0a_1d7d_a309_1480_38ccb9d490af
  style 8d32e90a_021a_8af9_fddb_430d9ca79317 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java lines 894–919

    int streamSend(long streamId, ByteBuf buffer, boolean fin) throws ClosedChannelException {
        QuicheQuicConnection conn = connection;
        if (buffer.nioBufferCount() == 1) {
            return streamSend0(conn, streamId, buffer, fin);
        }
        ByteBuffer[] nioBuffers  = buffer.nioBuffers();
        int lastIdx = nioBuffers.length - 1;
        int res = 0;
        for (int i = 0; i < lastIdx; i++) {
            ByteBuffer nioBuffer = nioBuffers[i];
            while (nioBuffer.hasRemaining()) {
                int localRes = streamSend(conn, streamId, nioBuffer, false);
                if (localRes <= 0) {
                    return res;
                }
                res += localRes;

                nioBuffer.position(nioBuffer.position() + localRes);
            }
        }
        int localRes = streamSend(conn, streamId, nioBuffers[lastIdx], fin);
        if (localRes > 0) {
            res += localRes;
        }
        return res;
    }

Domain

Subdomains

Frequently Asked Questions

What does streamSend() do?
streamSend() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java.
Where is streamSend() defined?
streamSend() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java at line 894.
What does streamSend() call?
streamSend() calls 2 function(s): connectionAddressChecked, streamSend0.

Analyze Your Own Codebase

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

Try Supermodel Free