Home / Class/ SocketTest Class — netty Architecture

SocketTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  5043e69c_94c9_249c_15bc_1579a5a6a4b9["SocketTest"]
  ae95acfe_792e_ceca_2389_26a717bd28d9["SocketTest.java"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|defined in| ae95acfe_792e_ceca_2389_26a717bd28d9
  382a8b14_c17d_0804_51b9_b17096bcb708["T()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| 382a8b14_c17d_0804_51b9_b17096bcb708
  f72ff144_40a7_b390_c151_c24612a0d5b4["setup()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| f72ff144_40a7_b390_c151_c24612a0d5b4
  6b748985_0118_1fdf_6146_80b2fab456ec["tearDown()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| 6b748985_0118_1fdf_6146_80b2fab456ec
  e330e534_9e39_2cea_8406_510962ffcf03["testKeepAlive()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| e330e534_9e39_2cea_8406_510962ffcf03
  18e411e1_a6bb_9248_bbda_02ef40d74c14["testTcpNoDelay()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| 18e411e1_a6bb_9248_bbda_02ef40d74c14
  d39f8056_b565_e075_e465_abbf10d366d7["testReceivedBufferSize()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| d39f8056_b565_e075_e465_abbf10d366d7
  53cabb2f_7d26_a79e_0920_bf76a3e54923["testSendBufferSize()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| 53cabb2f_7d26_a79e_0920_bf76a3e54923
  2e0ad918_cdd8_6f13_c1bf_13384274f10e["testSoLinger()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| 2e0ad918_cdd8_6f13_c1bf_13384274f10e
  98adca35_b86f_0c97_e01b_fd1f2a1fdf49["testDoubleCloseDoesNotThrow()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| 98adca35_b86f_0c97_e01b_fd1f2a1fdf49
  4f37eb60_f398_01bb_4b79_61f1022794db["testTrafficClass()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| 4f37eb60_f398_01bb_4b79_61f1022794db
  8b717330_af44_3a55_0c00_0d61cd5ad8bc["testIntOpt()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| 8b717330_af44_3a55_0c00_0d61cd5ad8bc
  8e7d422f_8ca2_0e0e_0c28_3162669b6cab["testRawOpt()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| 8e7d422f_8ca2_0e0e_0c28_3162669b6cab
  96cd0b84_8026_4a18_9280_25e96463f4d1["level()"]
  5043e69c_94c9_249c_15bc_1579a5a6a4b9 -->|method| 96cd0b84_8026_4a18_9280_25e96463f4d1

Relationship Graph

Source Code

transport-native-unix-common-tests/src/main/java/io/netty/channel/unix/tests/SocketTest.java lines 34–139

public abstract class SocketTest<T extends Socket> {
    protected T socket;

    protected abstract T newSocket();

    @BeforeEach
    public void setup() {
        socket = newSocket();
    }

    @AfterEach
    public void tearDown() throws IOException {
        socket.close();
    }

    @Test
    public void testKeepAlive() throws Exception {
        assertFalse(socket.isKeepAlive());
        socket.setKeepAlive(true);
        assertTrue(socket.isKeepAlive());
    }

    @Test
    public void testTcpNoDelay() throws Exception {
        assertFalse(socket.isTcpNoDelay());
        socket.setTcpNoDelay(true);
        assertTrue(socket.isTcpNoDelay());
    }

    @Test
    public void testReceivedBufferSize() throws Exception {
        int size = socket.getReceiveBufferSize();
        int newSize = 65535;
        assertTrue(size > 0);
        socket.setReceiveBufferSize(newSize);
        // Linux usually set it to double what is specified
        assertTrue(newSize <= socket.getReceiveBufferSize());
    }

    @Test
    public void testSendBufferSize() throws Exception {
        int size = socket.getSendBufferSize();
        int newSize = 65535;
        assertTrue(size > 0);
        socket.setSendBufferSize(newSize);
        // Linux usually set it to double what is specified
        assertTrue(newSize <= socket.getSendBufferSize());
    }

    @Test
    public void testSoLinger() throws Exception {
        assertEquals(-1, socket.getSoLinger());
        socket.setSoLinger(10);
        assertEquals(10, socket.getSoLinger());
    }

    @Test
    public void testDoubleCloseDoesNotThrow() throws IOException {
        Socket socket = Socket.newSocketStream();
        socket.close();
        socket.close();
    }

    @Test
    public void testTrafficClass() throws IOException {
        // IPTOS_THROUGHPUT
        final int value = 0x08;
        socket.setTrafficClass(value);
        assertEquals(value, socket.getTrafficClass());
    }

    @Test
    public void testIntOpt() throws IOException {
        socket.setReuseAddress(false);
        socket.setIntOpt(level(), optname(), 1);
        // Anything which is != 0 is considered enabled
        assertNotEquals(0, socket.getIntOpt(level(), optname()));
        socket.setIntOpt(level(), optname(), 0);
        // This should be disabled again
        assertEquals(0, socket.getIntOpt(level(), optname()));
    }

Frequently Asked Questions

What is the SocketTest class?
SocketTest is a class in the netty codebase, defined in transport-native-unix-common-tests/src/main/java/io/netty/channel/unix/tests/SocketTest.java.
Where is SocketTest defined?
SocketTest is defined in transport-native-unix-common-tests/src/main/java/io/netty/channel/unix/tests/SocketTest.java at line 34.

Analyze Your Own Codebase

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

Try Supermodel Free