66 lines
1.7 KiB
C++
66 lines
1.7 KiB
C++
|
/***
|
||
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
||
|
|
||
|
File: NetEndpoint.hpp
|
||
|
Date: 2022-8-15
|
||
|
Author: Reece
|
||
|
***/
|
||
|
#pragma once
|
||
|
|
||
|
namespace Aurora::IO::Net
|
||
|
{
|
||
|
struct NetEndpoint
|
||
|
{
|
||
|
inline NetEndpoint()
|
||
|
{ }
|
||
|
|
||
|
inline NetEndpoint(IPAddress ip) :
|
||
|
ip(ip)
|
||
|
{ }
|
||
|
|
||
|
inline NetEndpoint(IPAddress ip, AuUInt16 port) :
|
||
|
ip(ip),
|
||
|
uPort(port)
|
||
|
{ }
|
||
|
|
||
|
inline NetEndpoint(const AuString & ip, AuUInt16 port) :
|
||
|
ip(ip),
|
||
|
uPort(port)
|
||
|
{ }
|
||
|
|
||
|
inline NetEndpoint(const AuString & ip) :
|
||
|
ip(ip)
|
||
|
{ }
|
||
|
|
||
|
inline NetEndpoint(ETransportProtocol transportProtocol, IPAddress ip) :
|
||
|
transportProtocol(transportProtocol),
|
||
|
ip(ip)
|
||
|
{ }
|
||
|
|
||
|
inline NetEndpoint(ETransportProtocol transportProtocol, IPAddress ip, AuUInt16 port) :
|
||
|
transportProtocol(transportProtocol),
|
||
|
ip(ip),
|
||
|
uPort(port)
|
||
|
{ }
|
||
|
|
||
|
inline NetEndpoint(ETransportProtocol transportProtocol, const AuString &ip, AuUInt16 port) :
|
||
|
transportProtocol(transportProtocol),
|
||
|
ip(ip),
|
||
|
uPort(port)
|
||
|
{ }
|
||
|
|
||
|
inline NetEndpoint(ETransportProtocol transportProtocol, const AuString &ip) :
|
||
|
transportProtocol(transportProtocol),
|
||
|
ip(ip)
|
||
|
{ }
|
||
|
|
||
|
///////////////////////////////////
|
||
|
IPAddress ip;
|
||
|
AuUInt16 uPort {0};
|
||
|
AuUInt32 uIPv6Scope {0};
|
||
|
AuUInt8 hint[32] {0};
|
||
|
///////////////////////////////////
|
||
|
|
||
|
ETransportProtocol transportProtocol { ETransportProtocol::eEnumInvalid };
|
||
|
};
|
||
|
}
|