Home / Class/ EventRecorder Class — netty Architecture

EventRecorder Class — netty Architecture

Architecture documentation for the EventRecorder class in LocalTransportThreadModelTest3.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f["EventRecorder"]
  1d7a584f_0b8f_1af1_7aae_abb923f4163b["LocalTransportThreadModelTest3.java"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|defined in| 1d7a584f_0b8f_1af1_7aae_abb923f4163b
  8af1d2e1_a016_ae28_75f4_fba79d5b6081["EventRecorder()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| 8af1d2e1_a016_ae28_75f4_fba79d5b6081
  f4205820_da57_68a9_9d99_f27717ddf842["exceptionCaught()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| f4205820_da57_68a9_9d99_f27717ddf842
  798e6bfd_f883_3879_720a_63a11c1e8579["userEventTriggered()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| 798e6bfd_f883_3879_720a_63a11c1e8579
  bfc07eb1_7d98_bff2_991d_1ee7d4f3b77e["channelReadComplete()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| bfc07eb1_7d98_bff2_991d_1ee7d4f3b77e
  9aee0e7e_e325_dc9e_e9ca_f4f9a877be3f["channelInactive()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| 9aee0e7e_e325_dc9e_e9ca_f4f9a877be3f
  7fd6a480_2af0_851a_049b_b1dde7daf68f["channelActive()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| 7fd6a480_2af0_851a_049b_b1dde7daf68f
  4d0b4d19_200d_c748_53dd_0e7c3dc082ff["channelUnregistered()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| 4d0b4d19_200d_c748_53dd_0e7c3dc082ff
  e894dc32_6571_58c2_819d_cc57c554dd56["channelRegistered()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| e894dc32_6571_58c2_819d_cc57c554dd56
  3aa7e318_86e5_29de_2c94_f8dd8a483e94["channelRead()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| 3aa7e318_86e5_29de_2c94_f8dd8a483e94
  3e7e70cd_b9a9_6214_db90_2c2453ec3ae0["write()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| 3e7e70cd_b9a9_6214_db90_2c2453ec3ae0
  04057a49_40b7_855f_2a43_696c78303b47["read()"]
  b29d01a7_9b00_d2de_710c_ec7ba8934c5f -->|method| 04057a49_40b7_855f_2a43_696c78303b47

Relationship Graph

Source Code

transport/src/test/java/io/netty/channel/local/LocalTransportThreadModelTest3.java lines 267–336

    private static final class EventRecorder extends ChannelDuplexHandler {
        private final Queue<EventType> events;
        private final boolean inbound;

        EventRecorder(Queue<EventType> events, boolean inbound) {
            this.events = events;
            this.inbound = inbound;
        }

        @Override
        public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
            events.add(EventType.EXCEPTION_CAUGHT);
        }

        @Override
        public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
            if (inbound) {
                events.add(EventType.USER_EVENT);
            }
        }

        @Override
        public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {
            if (inbound) {
                events.add(EventType.MESSAGE_RECEIVED_LAST);
            }
        }

        @Override
        public void channelInactive(ChannelHandlerContext ctx) throws Exception {
            events.add(EventType.INACTIVE);
        }

        @Override
        public void channelActive(ChannelHandlerContext ctx) throws Exception {
            events.add(EventType.ACTIVE);
        }

        @Override
        public void channelUnregistered(ChannelHandlerContext ctx) throws Exception {
            events.add(EventType.UNREGISTERED);
        }

        @Override
        public void channelRegistered(ChannelHandlerContext ctx) throws Exception {
            events.add(EventType.REGISTERED);
        }

        @Override
        public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
            if (inbound) {
                events.add(EventType.MESSAGE_RECEIVED);
            }
        }

        @Override
        public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception {
            if (!inbound) {
                events.add(EventType.WRITE);
            }
            promise.setSuccess();
        }

        @Override
        public void read(ChannelHandlerContext ctx) {
            if (!inbound) {
                events.add(EventType.READ);
            }
        }
    }

Frequently Asked Questions

What is the EventRecorder class?
EventRecorder is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/local/LocalTransportThreadModelTest3.java.
Where is EventRecorder defined?
EventRecorder is defined in transport/src/test/java/io/netty/channel/local/LocalTransportThreadModelTest3.java at line 267.

Analyze Your Own Codebase

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

Try Supermodel Free