Home / Class/ CombinedChannelDuplexHandlerTest Class — netty Architecture

CombinedChannelDuplexHandlerTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  9460024d_25ec_0588_e029_9fb5fddbbe6d["CombinedChannelDuplexHandlerTest"]
  07c2c57a_3d14_6ab0_bb11_fc10900c4006["CombinedChannelDuplexHandlerTest.java"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|defined in| 07c2c57a_3d14_6ab0_bb11_fc10900c4006
  ef26d838_5fbd_d011_c933_7e627b68e9bf["testInboundRemoveBeforeAdded()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| ef26d838_5fbd_d011_c933_7e627b68e9bf
  d5782df3_f202_6797_53ef_3677f2fb2552["testOutboundRemoveBeforeAdded()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| d5782df3_f202_6797_53ef_3677f2fb2552
  7faa04e0_12c1_5b46_1029_4429166bf62e["testInboundHandlerImplementsOutboundHandler()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| 7faa04e0_12c1_5b46_1029_4429166bf62e
  66c582ce_fd77_a52a_23c8_8678ff22cc1e["testOutboundHandlerImplementsInboundHandler()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| 66c582ce_fd77_a52a_23c8_8678ff22cc1e
  c3a1f966_d69d_9097_a18a_18703a371bea["testInitNotCalledBeforeAdded()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| c3a1f966_d69d_9097_a18a_18703a371bea
  4a75cb6e_c057_ec3c_8ef3_55970ae63ba3["testExceptionCaughtBothCombinedHandlers()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| 4a75cb6e_c057_ec3c_8ef3_55970ae63ba3
  c06269fe_fdc1_5299_593a_e25ea3c25783["testInboundEvents()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| c06269fe_fdc1_5299_593a_e25ea3c25783
  4464681b_1d85_ed4d_10f0_a87df371f687["testOutboundEvents()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| 4464681b_1d85_ed4d_10f0_a87df371f687
  fea48d8b_c02b_5b24_c3d4_4003a2c24e9d["doOutboundOperations()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| fea48d8b_c02b_5b24_c3d4_4003a2c24e9d
  8032439e_0dd3_3dd1_a84d_08ec0f456423["assertOutboundOperations()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| 8032439e_0dd3_3dd1_a84d_08ec0f456423
  7ddb4c66_dde3_174a_cca0_169621a69abf["doInboundOperations()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| 7ddb4c66_dde3_174a_cca0_169621a69abf
  f304212b_f9b7_3ac0_880e_84fd29c29ea3["assertInboundOperations()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| f304212b_f9b7_3ac0_880e_84fd29c29ea3
  e5446515_c21b_50da_6c58_52140ea78ad4["testPromisesPassed()"]
  9460024d_25ec_0588_e029_9fb5fddbbe6d -->|method| e5446515_c21b_50da_6c58_52140ea78ad4

Relationship Graph

Source Code

transport/src/test/java/io/netty/channel/CombinedChannelDuplexHandlerTest.java lines 37–481

public class CombinedChannelDuplexHandlerTest {

    private static final Object MSG = new Object();
    private static final SocketAddress LOCAL_ADDRESS = new InetSocketAddress(0);
    private static final SocketAddress REMOTE_ADDRESS = new InetSocketAddress(0);
    private static final Throwable CAUSE = new Throwable();
    private static final Object USER_EVENT = new Object();

    private enum Event {
        REGISTERED,
        UNREGISTERED,
        ACTIVE,
        INACTIVE,
        CHANNEL_READ,
        CHANNEL_READ_COMPLETE,
        EXCEPTION_CAUGHT,
        USER_EVENT_TRIGGERED,
        CHANNEL_WRITABILITY_CHANGED,
        HANDLER_ADDED,
        HANDLER_REMOVED,
        BIND,
        CONNECT,
        WRITE,
        FLUSH,
        READ,
        REGISTER,
        DEREGISTER,
        CLOSE,
        DISCONNECT
    }

    @Test
    public void testInboundRemoveBeforeAdded() {
        final CombinedChannelDuplexHandler<ChannelInboundHandler, ChannelOutboundHandler> handler =
                new CombinedChannelDuplexHandler<ChannelInboundHandler, ChannelOutboundHandler>(
                        new ChannelInboundHandlerAdapter(), new ChannelOutboundHandlerAdapter());
        assertThrows(IllegalStateException.class, new Executable() {
            @Override
            public void execute() {
                handler.removeInboundHandler();
            }
        });
    }

    @Test
    public void testOutboundRemoveBeforeAdded() {
        final CombinedChannelDuplexHandler<ChannelInboundHandler, ChannelOutboundHandler> handler =
                new CombinedChannelDuplexHandler<ChannelInboundHandler, ChannelOutboundHandler>(
                        new ChannelInboundHandlerAdapter(), new ChannelOutboundHandlerAdapter());
        assertThrows(IllegalStateException.class, new Executable() {
            @Override
            public void execute() {
                handler.removeOutboundHandler();
            }
        });
    }

    @Test
    public void testInboundHandlerImplementsOutboundHandler() {
        assertThrows(IllegalArgumentException.class, new Executable() {
            @Override
            public void execute() {
                new CombinedChannelDuplexHandler<ChannelInboundHandler, ChannelOutboundHandler>(
                        new ChannelDuplexHandler(), new ChannelOutboundHandlerAdapter());
            }
        });
    }

    @Test
    public void testOutboundHandlerImplementsInboundHandler() {
        assertThrows(IllegalArgumentException.class, new Executable() {
            @Override
            public void execute() {
                new CombinedChannelDuplexHandler<ChannelInboundHandler, ChannelOutboundHandler>(
                        new ChannelInboundHandlerAdapter(), new ChannelDuplexHandler());
            }
        });
    }

    @Test
    public void testInitNotCalledBeforeAdded() {

Frequently Asked Questions

What is the CombinedChannelDuplexHandlerTest class?
CombinedChannelDuplexHandlerTest is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/CombinedChannelDuplexHandlerTest.java.
Where is CombinedChannelDuplexHandlerTest defined?
CombinedChannelDuplexHandlerTest is defined in transport/src/test/java/io/netty/channel/CombinedChannelDuplexHandlerTest.java at line 37.

Analyze Your Own Codebase

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

Try Supermodel Free