utt_server.h 739 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "base/define.h"
  3. #include "base/buffer.h"
  4. #include "util/map.hpp"
  5. class ITcpAgent;
  6. class TcpAgentListener;
  7. class UdpServerListener;
  8. namespace ylib
  9. {
  10. namespace network
  11. {
  12. class utt_server
  13. {
  14. public:
  15. struct Packages : public std::vector<ylib::buffer> {};
  16. public:
  17. utt_server();
  18. ~utt_server();
  19. bool start(const ylib::AddressPort& bind_ap, const ylib::AddressPort& remote_ap);
  20. void stop();
  21. public:
  22. ylib::AddressPort m_remote_ap;
  23. void* m_udp_server = nullptr;
  24. UdpServerListener* m_udp_server_listener = nullptr;
  25. ITcpAgent* m_agent = nullptr;
  26. TcpAgentListener* m_agent_listener = nullptr;
  27. // 待发送
  28. ylib::map<uint64/*TcpAgentConnID*/, Packages*> m_wait_send_data;
  29. };
  30. }
  31. }