18 #include <hicn/transport/core/asio_wrapper.h>
24 const uint16_t INVALID_PORT = 0xffff;
28 Endpoint() : address_(), port_(INVALID_PORT) {}
31 : address_(other.address_), port_(other.port_) {}
34 : address_(std::move(other.address_)), port_(other.port_) {}
36 Endpoint(std::string ip_address, uint32_t port)
37 : address_(asio::ip::address::from_string(ip_address)), port_(port) {}
39 Endpoint(asio::ip::udp::endpoint endpoint)
40 : address_(endpoint.address()), port_(endpoint.port()) {}
45 address_ = other.address_;
51 address_ = std::move(other.address_);
52 port_ = std::move(other.port_);
57 template <
typename Ip,
typename Port>
58 Endpoint(Ip &&ip_address, Port &&port)
59 : address_(std::forward<Ip &&>(ip_address)),
60 port_(std::forward<Port &&>(port)) {}
63 asio::ip::address getAddress() {
return address_; }
64 uint16_t getPort() {
return port_; }
66 void setAddress(uint32_t address) {
67 address_ = asio::ip::address(asio::ip::address_v4(address));
70 void setPort(uint16_t port) { port_ = port; }
73 asio::ip::address address_;