28 class STORMBYTE_NETWORK_PUBLIC
Info {
52 Info& operator=(const
Info& other) noexcept = delete;
59 Info& operator=(
Info&& other) noexcept = default;
69 static StormByte::Expected<
Info,
Exception> FromHost(const std::
string& hostname, const
unsigned short& port, const Protocol& protocol, std::shared_ptr<const
Handler> handler) noexcept;
76 static StormByte::Expected<
Info,
Exception> FromSockAddr(std::shared_ptr<sockaddr> sockaddr) noexcept;
82 constexpr const std::
string& IP() const noexcept {
90 constexpr const unsigned short&
Port() const noexcept {
98 inline std::shared_ptr<const sockaddr>
SockAddr() const noexcept {
103 std::shared_ptr<sockaddr> m_sock_addr;
106 unsigned short m_port;
112 Info(std::shared_ptr<sockaddr> sock_addr)
noexcept;
122 static StormByte::Expected<std::shared_ptr<sockaddr>,
Exception> ResolveHostname(
const std::string& hostname,
const unsigned short& port,
const Protocol& protocol, std::shared_ptr<const Handler> handler)
noexcept;
129 void Initialize(std::shared_ptr<sockaddr> sock_addr)
noexcept;