Home / Function/ discard() — netty Function Reference

discard() — netty Function Reference

Architecture documentation for the discard() function in ChunkedWriteHandler.java from the netty codebase.

Function java Buffer Search calls 4 called by 1

Entity Profile

Dependency Diagram

graph TD
  5e77e506_0716_aa80_bbd5_9ae4fe677c28["discard()"]
  1e2ef44e_6c44_8584_e44f_ddda636afcfc["ChunkedWriteHandler"]
  5e77e506_0716_aa80_bbd5_9ae4fe677c28 -->|defined in| 1e2ef44e_6c44_8584_e44f_ddda636afcfc
  fea31415_af69_2ea8_b80b_97ecc8e7b566["doFlush()"]
  fea31415_af69_2ea8_b80b_97ecc8e7b566 -->|calls| 5e77e506_0716_aa80_bbd5_9ae4fe677c28
  59e2cd7c_239b_2a62_529d_0c2d9e0ea412["queueIsEmpty()"]
  5e77e506_0716_aa80_bbd5_9ae4fe677c28 -->|calls| 59e2cd7c_239b_2a62_529d_0c2d9e0ea412
  53f15a4d_7833_59bc_0644_b2f3ba06936e["closeInput()"]
  5e77e506_0716_aa80_bbd5_9ae4fe677c28 -->|calls| 53f15a4d_7833_59bc_0644_b2f3ba06936e
  570121a6_3ee2_7394_cad2_8834a8f7c228["fail()"]
  5e77e506_0716_aa80_bbd5_9ae4fe677c28 -->|calls| 570121a6_3ee2_7394_cad2_8834a8f7c228
  5740c2cb_0395_da33_c095_2ffbce33d38d["success()"]
  5e77e506_0716_aa80_bbd5_9ae4fe677c28 -->|calls| 5740c2cb_0395_da33_c095_2ffbce33d38d
  style 5e77e506_0716_aa80_bbd5_9ae4fe677c28 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/stream/ChunkedWriteHandler.java lines 164–205

    private void discard(Throwable cause) {
        if (queueIsEmpty()) {
            return;
        }
        for (;;) {
            PendingWrite currentWrite = queue.poll();

            if (currentWrite == null) {
                break;
            }
            Object message = currentWrite.msg;
            if (message instanceof ChunkedInput) {
                ChunkedInput<?> in = (ChunkedInput<?>) message;
                boolean endOfInput;
                long inputLength;
                try {
                    endOfInput = in.isEndOfInput();
                    inputLength = in.length();
                    closeInput(in);
                } catch (Exception e) {
                    closeInput(in);
                    currentWrite.fail(e);
                    logger.warn("ChunkedInput failed", e);
                    continue;
                }

                if (!endOfInput) {
                    if (cause == null) {
                        cause = new ClosedChannelException();
                    }
                    currentWrite.fail(cause);
                } else {
                    currentWrite.success(inputLength);
                }
            } else {
                if (cause == null) {
                    cause = new ClosedChannelException();
                }
                currentWrite.fail(cause);
            }
        }
    }

Domain

Subdomains

Called By

Frequently Asked Questions

What does discard() do?
discard() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/stream/ChunkedWriteHandler.java.
Where is discard() defined?
discard() is defined in handler/src/main/java/io/netty/handler/stream/ChunkedWriteHandler.java at line 164.
What does discard() call?
discard() calls 4 function(s): closeInput, fail, queueIsEmpty, success.
What calls discard()?
discard() is called by 1 function(s): doFlush.

Analyze Your Own Codebase

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

Try Supermodel Free