test_class.file: hodor-remoting/hodor-remoting-netty/src/test/java/org/dromara/hodor/remoting/netty/NettyClientTest.java
test_class.identifier: NettyClientTest
test_case.body: @Test
      public void testNettyClient() {
          Attribute attribute = new Attribute();
          attribute.put(RemotingConst.HOST_KEY, "127.0.0.1");
          attribute.put(RemotingConst.PORT_KEY, 8080);
  
          // handle request
          HodorChannelHandler handler = new HodorClientChannelHandler();
  
          NetClientTransport clientTransport = ExtensionLoader.getExtensionLoader(NetClientTransport.class).getDefaultJoin();
          NetClient client = clientTransport.connect(attribute, handler);
          client.connection();
      }
test_case.class_method_signature: NettyClientTest.testNettyClient()
test_case.full_signature: @Test public void testNettyClient()
test_case.identifier: testNettyClient
test_case.invocations: put put getDefaultJoin getExtensionLoader connect connection
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testNettyClient()
focal_class.declarator: bootstrap
focal_class.modifier: private final
focal_class.original_string: private final Bootstrap bootstrap;
focal_class.type: Bootstrap
focal_class.var_name: bootstrap
focal_class.declarator: channelHandler
focal_class.modifier: private final
focal_class.original_string: private final NettyChannelHandler channelHandler;
focal_class.type: NettyChannelHandler
focal_class.var_name: channelHandler
focal_class.file: hodor-remoting/hodor-remoting-netty/src/main/java/org/dromara/hodor/remoting/netty/NettyClient.java
focal_class.identifier: NettyClient
focal_class.class_method_signature: NettyClient.NettyClient(Attribute attribute, HodorChannelHandler channelHandler)
focal_class.full_signature: public  NettyClient(Attribute attribute, HodorChannelHandler channelHandler)
focal_class.identifier: NettyClient
focal_class.modifiers: public
focal_class.parameters: (Attribute attribute, HodorChannelHandler channelHandler)
focal_class.signature:  NettyClient(Attribute attribute, HodorChannelHandler channelHandler)
focal_class.class_method_signature: NettyClient.connection()
focal_class.full_signature: @Override @SneakyThrows public void connection()
focal_class.identifier: connection
focal_class.modifiers: @Override @SneakyThrows public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void connection()
focal_class.class_method_signature: NettyClient.useEpoll()
focal_class.full_signature: private boolean useEpoll()
focal_class.identifier: useEpoll
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean useEpoll()
focal_class.superclass: extends AbstractNetClient
focal_method.body: public NettyClient(Attribute attribute, HodorChannelHandler channelHandler) {
          super(attribute, channelHandler);
          this.bootstrap = new Bootstrap();
          this.channelHandler = new NettyChannelHandler(attribute, channelHandler);
      }
focal_method.class_method_signature: NettyClient.NettyClient(Attribute attribute, HodorChannelHandler channelHandler)
focal_method.full_signature: public  NettyClient(Attribute attribute, HodorChannelHandler channelHandler)
focal_method.identifier: NettyClient
focal_method.modifiers: public
focal_method.parameters: (Attribute attribute, HodorChannelHandler channelHandler)
focal_method.signature:  NettyClient(Attribute attribute, HodorChannelHandler channelHandler)