Home / Function/ readReadyFd() — netty Function Reference

readReadyFd() — netty Function Reference

Architecture documentation for the readReadyFd() function in KQueueDomainSocketChannel.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  131adef7_86c6_6c7e_dddd_9b8b83913ccb["readReadyFd()"]
  296e37d0_15ad_0124_d998_7b16b98aec54["KQueueDomainUnsafe"]
  131adef7_86c6_6c7e_dddd_9b8b83913ccb -->|defined in| 296e37d0_15ad_0124_d998_7b16b98aec54
  8aca2ab6_9800_2119_f857_87862c4d6b16["readReady()"]
  8aca2ab6_9800_2119_f857_87862c4d6b16 -->|calls| 131adef7_86c6_6c7e_dddd_9b8b83913ccb
  style 131adef7_86c6_6c7e_dddd_9b8b83913ccb fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueDomainSocketChannel.java lines 142–187

        private void readReadyFd() {
            if (socket.isInputShutdown()) {
                super.clearReadFilter0();
                return;
            }
            final ChannelConfig config = config();
            final KQueueRecvByteAllocatorHandle allocHandle = recvBufAllocHandle();

            final ChannelPipeline pipeline = pipeline();
            allocHandle.reset(config);

            try {
                readLoop: do {
                    // lastBytesRead represents the fd. We use lastBytesRead because it must be set so that the
                    // KQueueRecvByteAllocatorHandle knows if it should try to read again or not when autoRead is
                    // enabled.
                    int recvFd = socket.recvFd();
                    switch(recvFd) {
                        case 0:
                            allocHandle.lastBytesRead(0);
                            break readLoop;
                        case -1:
                            allocHandle.lastBytesRead(-1);
                            close(voidPromise());
                            return;
                        default:
                            allocHandle.lastBytesRead(1);
                            allocHandle.incMessagesRead(1);
                            readPending = false;
                            pipeline.fireChannelRead(new FileDescriptor(recvFd));
                            break;
                    }
                } while (allocHandle.continueReading());

                allocHandle.readComplete();
                pipeline.fireChannelReadComplete();
            } catch (Throwable t) {
                allocHandle.readComplete();
                pipeline.fireChannelReadComplete();
                pipeline.fireExceptionCaught(t);
            } finally {
                if (shouldStopReading(config)) {
                    clearReadFilter0();
                }
            }
        }

Domain

Subdomains

Called By

Frequently Asked Questions

What does readReadyFd() do?
readReadyFd() is a function in the netty codebase, defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueDomainSocketChannel.java.
Where is readReadyFd() defined?
readReadyFd() is defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueDomainSocketChannel.java at line 142.
What calls readReadyFd()?
readReadyFd() is called by 1 function(s): readReady.

Analyze Your Own Codebase

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

Try Supermodel Free