Home / Function/ pollOut() — netty Function Reference

pollOut() — netty Function Reference

Architecture documentation for the pollOut() function in AbstractIoUringChannel.java from the netty codebase.

Function java Buffer Search calls 5 called by 1

Entity Profile

Dependency Diagram

graph TD
  904f93b1_ee9b_81f5_6f1b_40d546f64f43["pollOut()"]
  19011d76_ce85_4831_bbdf_3b21a88f2b1b["AbstractUringUnsafe"]
  904f93b1_ee9b_81f5_6f1b_40d546f64f43 -->|defined in| 19011d76_ce85_4831_bbdf_3b21a88f2b1b
  fa9b16c6_c963_88d2_4e5b_2bd377a7b30c["pollAddComplete()"]
  fa9b16c6_c963_88d2_4e5b_2bd377a7b30c -->|calls| 904f93b1_ee9b_81f5_6f1b_40d546f64f43
  504e72a6_d5e9_6b52_5a10_ab3991dcd667["isActive()"]
  904f93b1_ee9b_81f5_6f1b_40d546f64f43 -->|calls| 504e72a6_d5e9_6b52_5a10_ab3991dcd667
  4af71a65_a4fd_8778_811b_01ce32d090eb["fulfillConnectPromise()"]
  904f93b1_ee9b_81f5_6f1b_40d546f64f43 -->|calls| 4af71a65_a4fd_8778_811b_01ce32d090eb
  67b2aa6c_a298_76f6_3e5b_4d861b518d3c["cancelConnectTimeoutFuture()"]
  904f93b1_ee9b_81f5_6f1b_40d546f64f43 -->|calls| 67b2aa6c_a298_76f6_3e5b_4d861b518d3c
  9297de32_6d49_794c_9a51_19eaa6d72911["schedulePollOut()"]
  904f93b1_ee9b_81f5_6f1b_40d546f64f43 -->|calls| 9297de32_6d49_794c_9a51_19eaa6d72911
  6cf22375_3a52_781e_5444_e00a9c00fe03["flush0()"]
  904f93b1_ee9b_81f5_6f1b_40d546f64f43 -->|calls| 6cf22375_3a52_781e_5444_e00a9c00fe03
  style 904f93b1_ee9b_81f5_6f1b_40d546f64f43 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport-classes-io_uring/src/main/java/io/netty/channel/uring/AbstractIoUringChannel.java lines 898–937

        private void pollOut(int res) {
            ioState &= ~POLL_OUT_SCHEDULED;
            pollOutId = 0;
            if (res == Native.ERRNO_ECANCELED_NEGATIVE) {
                return;
            }
            // pending connect
            if (connectPromise != null) {
                // Note this method is invoked by the event loop only if the connection attempt was
                // neither cancelled nor timed out.

                assert eventLoop().inEventLoop();

                boolean connectStillInProgress = false;
                try {
                    boolean wasActive = isActive();
                    if (!socket.finishConnect()) {
                        connectStillInProgress = true;
                        return;
                    }
                    fulfillConnectPromise(connectPromise, wasActive);
                } catch (Throwable t) {
                    fulfillConnectPromise(connectPromise, annotateConnectException(t, requestedRemoteAddress));
                } finally {
                    if (!connectStillInProgress) {
                        // Check for null as the connectTimeoutFuture is only created if a connectTimeoutMillis > 0
                        // is used
                        // See https://github.com/netty/netty/issues/1770
                        cancelConnectTimeoutFuture();
                        connectPromise = null;
                    } else {
                        // The connect was not done yet, register for POLLOUT again
                        schedulePollOut();
                    }
                }
            } else if (!socket.isOutputShutdown()) {
                // Try writing again
                super.flush0();
            }
        }

Domain

Subdomains

Called By

Frequently Asked Questions

What does pollOut() do?
pollOut() is a function in the netty codebase, defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/AbstractIoUringChannel.java.
Where is pollOut() defined?
pollOut() is defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/AbstractIoUringChannel.java at line 898.
What does pollOut() call?
pollOut() calls 5 function(s): cancelConnectTimeoutFuture, flush0, fulfillConnectPromise, isActive, schedulePollOut.
What calls pollOut()?
pollOut() is called by 1 function(s): pollAddComplete.

Analyze Your Own Codebase

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

Try Supermodel Free