Home / Class/ KQueueServerChannelConfig Class — netty Architecture

KQueueServerChannelConfig Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  849ddad3_a50a_73f6_d27b_ebce78f1ce6e["KQueueServerChannelConfig"]
  77151694_f076_15cc_5909_3c29b5862d57["KQueueServerChannelConfig.java"]
  849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|defined in| 77151694_f076_15cc_5909_3c29b5862d57
  8edc5396_e25c_4e48_7cd4_5f56490b13bb["KQueueServerChannelConfig()"]
  849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 8edc5396_e25c_4e48_7cd4_5f56490b13bb
  741ccf4f_21ec_46c7_c299_45f18d7dc66b["getOptions()"]
  849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 741ccf4f_21ec_46c7_c299_45f18d7dc66b
  6053daa0_87ec_a315_7994_d190f43462ed["T()"]
  849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 6053daa0_87ec_a315_7994_d190f43462ed
  237d1e87_bf05_5ba8_bc2c_567a365f05e8["setOption()"]
  849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 237d1e87_bf05_5ba8_bc2c_567a365f05e8
  cf67683e_4b17_7043_ac21_e97f30e846fb["isReuseAddress()"]
  849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| cf67683e_4b17_7043_ac21_e97f30e846fb
  c665210f_7ca6_2ccf_869f_8e0c5c2ecea2["getReceiveBufferSize()"]
  849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| c665210f_7ca6_2ccf_869f_8e0c5c2ecea2
  9b263fc7_53b7_66ea_5b59_1306e372536d["getBacklog()"]
  849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 9b263fc7_53b7_66ea_5b59_1306e372536d
  7113017c_eb7f_07a1_0611_74105328bb10["isTcpFastOpen()"]
  849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 7113017c_eb7f_07a1_0611_74105328bb10

Relationship Graph

Source Code

transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueServerChannelConfig.java lines 37–232

public class KQueueServerChannelConfig extends KQueueChannelConfig implements ServerSocketChannelConfig {
    private volatile int backlog = NetUtil.SOMAXCONN;
    private volatile boolean enableTcpFastOpen;

    KQueueServerChannelConfig(AbstractKQueueChannel channel) {
        super(channel, new ServerChannelRecvByteBufAllocator());
    }

    @Override
    public Map<ChannelOption<?>, Object> getOptions() {
        return getOptions(super.getOptions(), SO_RCVBUF, SO_REUSEADDR, SO_BACKLOG, TCP_FASTOPEN);
    }

    @SuppressWarnings("unchecked")
    @Override
    public <T> T getOption(ChannelOption<T> option) {
        if (option == SO_RCVBUF) {
            return (T) Integer.valueOf(getReceiveBufferSize());
        }
        if (option == SO_REUSEADDR) {
            return (T) Boolean.valueOf(isReuseAddress());
        }
        if (option == SO_BACKLOG) {
            return (T) Integer.valueOf(getBacklog());
        }
        if (option == TCP_FASTOPEN) {
            return (T) (isTcpFastOpen() ? Integer.valueOf(1) : Integer.valueOf(0));
        }
        return super.getOption(option);
    }

    @Override
    public <T> boolean setOption(ChannelOption<T> option, T value) {
        validate(option, value);

        if (option == SO_RCVBUF) {
            setReceiveBufferSize((Integer) value);
        } else if (option == SO_REUSEADDR) {
            setReuseAddress((Boolean) value);
        } else if (option == SO_BACKLOG) {
            setBacklog((Integer) value);
        } else if (option == TCP_FASTOPEN) {
            setTcpFastOpen((Integer) value > 0);
        } else {
            return super.setOption(option, value);
        }

        return true;
    }

    @Override
    public boolean isReuseAddress() {
        try {
            return ((AbstractKQueueChannel) channel).socket.isReuseAddress();
        } catch (IOException e) {
            throw new ChannelException(e);
        }
    }

    @Override
    public KQueueServerChannelConfig setReuseAddress(boolean reuseAddress) {
        try {
            ((AbstractKQueueChannel) channel).socket.setReuseAddress(reuseAddress);
            return this;
        } catch (IOException e) {
            throw new ChannelException(e);
        }
    }

    @Override
    public int getReceiveBufferSize() {
        try {
            return ((AbstractKQueueChannel) channel).socket.getReceiveBufferSize();
        } catch (IOException e) {
            throw new ChannelException(e);
        }
    }

    @Override
    public KQueueServerChannelConfig setReceiveBufferSize(int receiveBufferSize) {
        try {

Frequently Asked Questions

What is the KQueueServerChannelConfig class?
KQueueServerChannelConfig is a class in the netty codebase, defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueServerChannelConfig.java.
Where is KQueueServerChannelConfig defined?
KQueueServerChannelConfig is defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueServerChannelConfig.java at line 37.

Analyze Your Own Codebase

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

Try Supermodel Free