Added support for completely disabling noexcept using MIJIN_TEST_NO_NOEXCEPT (for testing).
This commit is contained in:
@@ -32,7 +32,7 @@ StreamError translateGAIError(int error)
|
||||
return StreamError::UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
StreamError osBeginResolve(const std::string& hostname, os_resolve_handle_t& handle) noexcept
|
||||
StreamError osBeginResolve(const std::string& hostname, os_resolve_handle_t& handle) MIJIN_NOEXCEPT
|
||||
{
|
||||
handle.item = {.ar_name = hostname.c_str()};
|
||||
|
||||
@@ -44,12 +44,12 @@ StreamError osBeginResolve(const std::string& hostname, os_resolve_handle_t& han
|
||||
return StreamError::SUCCESS;
|
||||
}
|
||||
|
||||
bool osResolveDone(os_resolve_handle_t& handle) noexcept
|
||||
bool osResolveDone(os_resolve_handle_t& handle) MIJIN_NOEXCEPT
|
||||
{
|
||||
return gai_error(&handle.item) != EAI_INPROGRESS;
|
||||
}
|
||||
|
||||
StreamResult<std::vector<ip_address_t>> osResolveResult(os_resolve_handle_t& handle) noexcept
|
||||
StreamResult<std::vector<ip_address_t>> osResolveResult(os_resolve_handle_t& handle) MIJIN_NOEXCEPT
|
||||
{
|
||||
if (const int error = gai_error(&handle.item); error != 0)
|
||||
{
|
||||
@@ -112,7 +112,7 @@ struct WSAQueryContext
|
||||
};
|
||||
using os_resolve_handle_t = WSAQueryContext;
|
||||
|
||||
void WINAPI getAddrComplete(DWORD error, DWORD bytes, LPOVERLAPPED overlapped) noexcept
|
||||
void WINAPI getAddrComplete(DWORD error, DWORD bytes, LPOVERLAPPED overlapped) MIJIN_NOEXCEPT
|
||||
{
|
||||
(void) bytes;
|
||||
|
||||
@@ -153,7 +153,7 @@ void WINAPI getAddrComplete(DWORD error, DWORD bytes, LPOVERLAPPED overlapped) n
|
||||
queryContext.result = std::move(resultAddresses);
|
||||
}
|
||||
|
||||
StreamError osBeginResolve(const std::string& hostname, os_resolve_handle_t& queryContext) noexcept
|
||||
StreamError osBeginResolve(const std::string& hostname, os_resolve_handle_t& queryContext) MIJIN_NOEXCEPT
|
||||
{
|
||||
if (!detail::initWSA())
|
||||
{
|
||||
@@ -181,12 +181,12 @@ StreamError osBeginResolve(const std::string& hostname, os_resolve_handle_t& que
|
||||
return StreamError::SUCCESS;
|
||||
}
|
||||
|
||||
bool osResolveDone(os_resolve_handle_t& queryContext) noexcept
|
||||
bool osResolveDone(os_resolve_handle_t& queryContext) MIJIN_NOEXCEPT
|
||||
{
|
||||
return !queryContext.result.isEmpty();
|
||||
}
|
||||
|
||||
StreamResult<std::vector<ip_address_t>> osResolveResult(os_resolve_handle_t& queryContext) noexcept
|
||||
StreamResult<std::vector<ip_address_t>> osResolveResult(os_resolve_handle_t& queryContext) MIJIN_NOEXCEPT
|
||||
{
|
||||
return queryContext.result;
|
||||
}
|
||||
@@ -204,7 +204,7 @@ std::string IPv6Address::toString() const
|
||||
hextets[5], hextets[6], hextets[7]);
|
||||
}
|
||||
|
||||
Optional<IPv4Address> IPv4Address::fromString(std::string_view stringView) noexcept
|
||||
Optional<IPv4Address> IPv4Address::fromString(std::string_view stringView) MIJIN_NOEXCEPT
|
||||
{
|
||||
std::vector<std::string_view> parts = split(stringView, ".", {.limitParts = 4});
|
||||
if (parts.size() != 4) {
|
||||
@@ -221,7 +221,7 @@ Optional<IPv4Address> IPv4Address::fromString(std::string_view stringView) noexc
|
||||
return address;
|
||||
}
|
||||
|
||||
Optional<IPv6Address> IPv6Address::fromString(std::string_view stringView) noexcept
|
||||
Optional<IPv6Address> IPv6Address::fromString(std::string_view stringView) MIJIN_NOEXCEPT
|
||||
{
|
||||
// very specific edge case
|
||||
if (stringView.contains(":::"))
|
||||
@@ -275,7 +275,7 @@ Optional<IPv6Address> IPv6Address::fromString(std::string_view stringView) noexc
|
||||
return address;
|
||||
}
|
||||
|
||||
Task<StreamResult<std::vector<ip_address_t>>> c_resolveHostname(std::string hostname) noexcept
|
||||
Task<StreamResult<std::vector<ip_address_t>>> c_resolveHostname(std::string hostname) MIJIN_NOEXCEPT
|
||||
{
|
||||
os_resolve_handle_t resolveHandle;
|
||||
if (StreamError error = osBeginResolve(hostname, resolveHandle); error != StreamError::SUCCESS)
|
||||
|
||||
Reference in New Issue
Block a user