Home / Class/ NioSctpServerChannel Class — netty Architecture

NioSctpServerChannel Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  e5fa72c8_52dc_ad06_8132_d5b737902abb["NioSctpServerChannel"]
  05dd6e6a_c227_f1aa_ff46_2f5e0a0f57ba["NioSctpServerChannel.java"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|defined in| 05dd6e6a_c227_f1aa_ff46_2f5e0a0f57ba
  43c1f9e1_3394_2b19_7851_78c59642060a["SctpServerChannel()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| 43c1f9e1_3394_2b19_7851_78c59642060a
  38fbe62d_9205_8dcb_4834_5e24dbee5b03["NioSctpServerChannel()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| 38fbe62d_9205_8dcb_4834_5e24dbee5b03
  ddce0b7c_19c1_8778_9b80_51406690cbfc["ChannelMetadata()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| ddce0b7c_19c1_8778_9b80_51406690cbfc
  8713fb8b_fa1c_f509_95bd_eaa0481ce885["allLocalAddresses()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| 8713fb8b_fa1c_f509_95bd_eaa0481ce885
  e06e8868_0e6d_3298_f401_9f9d12eb8004["SctpServerChannelConfig()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| e06e8868_0e6d_3298_f401_9f9d12eb8004
  55b5bec2_2c5e_333d_3568_0079a69be9d4["isActive()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| 55b5bec2_2c5e_333d_3568_0079a69be9d4
  9d5f0e4d_e9c7_c5f2_3d8a_aa8d99f296bf["InetSocketAddress()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| 9d5f0e4d_e9c7_c5f2_3d8a_aa8d99f296bf
  583125c7_2655_986b_544f_db30ce765e66["SocketAddress()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| 583125c7_2655_986b_544f_db30ce765e66
  05f20f75_5565_c8da_8f79_221486725d71["doBind()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| 05f20f75_5565_c8da_8f79_221486725d71
  a4fee613_09c1_a79b_a7d8_89a6d4d29eaa["doClose()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| a4fee613_09c1_a79b_a7d8_89a6d4d29eaa
  225499f9_ec70_2ee7_9b29_997681be6650["doReadMessages()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| 225499f9_ec70_2ee7_9b29_997681be6650
  e6c7afd4_b7a1_d7e5_8cfd_694d86c493e0["ChannelFuture()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| e6c7afd4_b7a1_d7e5_8cfd_694d86c493e0
  a8144ade_8e11_ca71_99de_889f4f789bd9["doConnect()"]
  e5fa72c8_52dc_ad06_8132_d5b737902abb -->|method| a8144ade_8e11_ca71_99de_889f4f789bd9

Relationship Graph

Source Code

transport-sctp/src/main/java/io/netty/channel/sctp/nio/NioSctpServerChannel.java lines 47–239

public class NioSctpServerChannel extends AbstractNioMessageChannel
        implements io.netty.channel.sctp.SctpServerChannel {
    private static final ChannelMetadata METADATA = new ChannelMetadata(false, 16);

    private static SctpServerChannel newSocket() {
        try {
            return SctpServerChannel.open();
        } catch (IOException e) {
            throw new ChannelException(
                    "Failed to open a server socket.", e);
        }
    }

    private final SctpServerChannelConfig config;

    /**
     * Create a new instance
     */
    public NioSctpServerChannel() {
        super(null, newSocket(), SelectionKey.OP_ACCEPT);
        config = new NioSctpServerChannelConfig(this, javaChannel());
    }

    @Override
    public ChannelMetadata metadata() {
        return METADATA;
    }

    @Override
    public Set<InetSocketAddress> allLocalAddresses() {
        try {
            final Set<SocketAddress> allLocalAddresses = javaChannel().getAllLocalAddresses();
            final Set<InetSocketAddress> addresses = new LinkedHashSet<InetSocketAddress>(allLocalAddresses.size());
            for (SocketAddress socketAddress : allLocalAddresses) {
                addresses.add((InetSocketAddress) socketAddress);
            }
            return addresses;
        } catch (Throwable ignored) {
            return Collections.emptySet();
        }
    }

    @Override
    public SctpServerChannelConfig config() {
        return config;
    }

    @Override
    public boolean isActive() {
        return isOpen() && !allLocalAddresses().isEmpty();
    }

    @Override
    public InetSocketAddress remoteAddress() {
        return null;
    }

    @Override
    public InetSocketAddress localAddress() {
        return (InetSocketAddress) super.localAddress();
    }

    @Override
    protected SctpServerChannel javaChannel() {
        return (SctpServerChannel) super.javaChannel();
    }

    @Override
    protected SocketAddress localAddress0() {
        try {
            Iterator<SocketAddress> i = javaChannel().getAllLocalAddresses().iterator();
            if (i.hasNext()) {
                return i.next();
            }
        } catch (IOException e) {
            // ignore
        }
        return null;
    }

    @Override

Frequently Asked Questions

What is the NioSctpServerChannel class?
NioSctpServerChannel is a class in the netty codebase, defined in transport-sctp/src/main/java/io/netty/channel/sctp/nio/NioSctpServerChannel.java.
Where is NioSctpServerChannel defined?
NioSctpServerChannel is defined in transport-sctp/src/main/java/io/netty/channel/sctp/nio/NioSctpServerChannel.java at line 47.

Analyze Your Own Codebase

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

Try Supermodel Free