text: #include "log/aimy-log.h"
  #include "core/core-include.h"
  #include "imp/udp-echo-server.h"
  #include "imp/commandlineTool.h"
  using namespace aimy;
  int udp_test(int argc,char *argv[]);
  int main(int argc,char *argv[])
  {
      (void)argc;
      (void)argv;
      aimy::AimyLogger::Instance().register_handle();
      aimy::AimyLogger::Instance().set_log_path("/userdata/aimy/logs/test","test");
      aimy::AimyLogger::Instance().set_log_to_std(true);
      atexit([](){
          aimy::AimyLogger::Instance().unregister_handle();
      });
      //return object_test(argc,argv);
      return udp_test(argc,argv);
  }
  int udp_test(int argc,char *argv[])
  {
      EventLoop loop(2);
      aimy::AimyLogger::Instance().register_exit_signal_func([&](){
          loop.stop();
      });
      loop.start();
      auto t=loop.getTaskScheduler();
      UdpEchoServer server(t.get(),"127.0.0.1",8889);
      server.start();
      auto t2=loop.getTaskScheduler();
      UdpEchoServer client(t2.get(),"127.0.0.1",0);
      std::vector<Object*>test_obj;
      auto time=Timer::getTimeNow<std::chrono::milliseconds>();
      for(auto i=0;i<100000;++i)
      {
          test_obj.push_back(new Object(t.get()));
      }
      auto time2=Timer::getTimeNow<std::chrono::milliseconds>();
      AIMY_DEBUG("diff %ld",time2-time);
      auto timer=t2->addTimer(1);
      timer->setSingle(false);
      //client.start();
      timer->timeout.connectFunc([&](){
          std::string data(31*1024,'1');
          client.sendData("0.0.0.0",8889,data.c_str(),data.length());
      });
      timer->start();
      loop.waitStop();
      return 0;
  }
  