mirror of
https://github.com/matrix-construct/construct
synced 2024-10-01 05:08:59 +02:00
ircd::net: Add UDP analogues for the make_endpoint() related.
This commit is contained in:
parent
7057e1d98d
commit
670b4b8e23
2 changed files with 27 additions and 0 deletions
|
@ -43,7 +43,9 @@ namespace ircd::net
|
|||
std::string string(const ip::tcp::endpoint &);
|
||||
|
||||
ipport make_ipport(const boost::asio::ip::tcp::endpoint &);
|
||||
ipport make_ipport(const boost::asio::ip::udp::endpoint &);
|
||||
ip::tcp::endpoint make_endpoint(const ipport &);
|
||||
ip::udp::endpoint make_endpoint_udp(const ipport &);
|
||||
}
|
||||
|
||||
#include <ircd/net/socket.h>
|
||||
|
|
25
ircd/net.cc
25
ircd/net.cc
|
@ -2553,6 +2553,15 @@ ircd::net::string(const mutable_buffer &buf,
|
|||
return { data(buf), size_t(len) };
|
||||
}
|
||||
|
||||
ircd::net::ipport
|
||||
ircd::net::make_ipport(const boost::asio::ip::udp::endpoint &ep)
|
||||
{
|
||||
return ipport
|
||||
{
|
||||
ep.address(), ep.port()
|
||||
};
|
||||
}
|
||||
|
||||
ircd::net::ipport
|
||||
ircd::net::make_ipport(const boost::asio::ip::tcp::endpoint &ep)
|
||||
{
|
||||
|
@ -2562,6 +2571,22 @@ ircd::net::make_ipport(const boost::asio::ip::tcp::endpoint &ep)
|
|||
};
|
||||
}
|
||||
|
||||
boost::asio::ip::udp::endpoint
|
||||
ircd::net::make_endpoint_udp(const ipport &ipport)
|
||||
{
|
||||
return
|
||||
{
|
||||
is_v6(ipport)? ip::udp::endpoint
|
||||
{
|
||||
asio::ip::address_v6 { std::get<ipport.IP>(ipport) }, port(ipport)
|
||||
}
|
||||
: ip::udp::endpoint
|
||||
{
|
||||
asio::ip::address_v4 { host4(ipport) }, port(ipport)
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
boost::asio::ip::tcp::endpoint
|
||||
ircd::net::make_endpoint(const ipport &ipport)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue