diff --git a/Include/Aurora/Memory/ByteBuffer.hpp b/Include/Aurora/Memory/ByteBuffer.hpp index eaa18a05..baad3f37 100644 --- a/Include/Aurora/Memory/ByteBuffer.hpp +++ b/Include/Aurora/Memory/ByteBuffer.hpp @@ -545,6 +545,8 @@ namespace Aurora::Memory template bool ReadTagged(T &out); + template + T ReadTagged(); // inline AuUInt calcDifferenceBetweenHeadsUnsigned(AuUInt8 *pHeadPointer, AuUInt8 *pSubtrahend) diff --git a/Include/Aurora/Memory/ByteBuffer_Memory.inl b/Include/Aurora/Memory/ByteBuffer_Memory.inl index b2160d0d..bf222a07 100644 --- a/Include/Aurora/Memory/ByteBuffer_Memory.inl +++ b/Include/Aurora/Memory/ByteBuffer_Memory.inl @@ -216,7 +216,7 @@ namespace Aurora::Memory return true; } - auto newLength = AuMax(length, AuPageRoundUp(this->allocSize + (this->allocSize / 3), 64ull)); + auto newLength = AuMax(length, AuPageRoundUp(this->allocSize + (this->allocSize / 3), AuUInt(64))); if (auto pNext = ZRealloc(this->base, newLength)) { diff --git a/Include/Aurora/Memory/ByteBuffer_TypedReadWrite.inl b/Include/Aurora/Memory/ByteBuffer_TypedReadWrite.inl index 1c1192d3..4531b2f0 100644 --- a/Include/Aurora/Memory/ByteBuffer_TypedReadWrite.inl +++ b/Include/Aurora/Memory/ByteBuffer_TypedReadWrite.inl @@ -164,7 +164,7 @@ namespace Aurora::Memory } else if constexpr (AuIsTuple_v>) { - if (this->ReadTagged != + if (this->ReadTagged() != AuTupleCountOf_v>) { this->flagReadError = true; @@ -471,4 +471,23 @@ namespace Aurora::Memory return Read(out); } + + template + T ByteBuffer::ReadTagged() + { + T value {}; + + if (__detail::TypeToID() != Read()) + { + this->flagReadError = true; + return value; + } + + if (!Read(value)) + { + return false; + } + + return true; + } } diff --git a/Source/Async/ThreadPool.hpp b/Source/Async/ThreadPool.hpp index 977a10e5..21423802 100644 --- a/Source/Async/ThreadPool.hpp +++ b/Source/Async/ThreadPool.hpp @@ -122,7 +122,7 @@ namespace Aurora::Async AuThreads::TLSVariable tlsWorkerId; - AuSPtr GetThreadHandle(WorkerId_t id); + AuSPtr GetThreadHandle(WorkerId_t id) override; private: // TODO: BarrierMultiple bool Barrier(WorkerId_t, AuUInt32 ms, bool requireSignal, bool drop); diff --git a/Source/Async/WorkItem.hpp b/Source/Async/WorkItem.hpp index 3a422f99..1d05ebde 100644 --- a/Source/Async/WorkItem.hpp +++ b/Source/Async/WorkItem.hpp @@ -52,7 +52,7 @@ namespace Aurora::Async EWorkPrio GetPrio() override; void SetPrio(EWorkPrio prio) override; - AuOptional> QueryFences(); + AuOptional> QueryFences() override; protected: bool CheckAlive(); diff --git a/Source/IO/IPC/AuIPCPipe.Unix.cpp b/Source/IO/IPC/AuIPCPipe.Unix.cpp index 000a38da..6c5492b3 100644 --- a/Source/IO/IPC/AuIPCPipe.Unix.cpp +++ b/Source/IO/IPC/AuIPCPipe.Unix.cpp @@ -149,7 +149,7 @@ namespace Aurora::IO::IPC IPCPipeImpl::IPCPipeImpl(int (fds2)[2], int (fds3)[2], IPCToken readEnd, IPCToken writeEnd, AuSPtr event, AuSPtr mutex) : fds {fds2[0], fds2[1]}, secondary {fds3[0], fds3[1]}, readEnd_(readEnd), writeEnd_(writeEnd), event_(event), mutex_(mutex), - eventPreempt_(false, false, true, + eventPreempt_(false, false, true), pipeReader_(this), pipeWriter_(this) { diff --git a/Source/IO/Net/AuNetAdapter.Linux.cpp b/Source/IO/Net/AuNetAdapter.Linux.cpp index b69f1200..c14565cf 100644 --- a/Source/IO/Net/AuNetAdapter.Linux.cpp +++ b/Source/IO/Net/AuNetAdapter.Linux.cpp @@ -400,8 +400,7 @@ namespace Aurora::IO::Net strncpy(ifr.ifr_name, adapter.device.c_str(), sizeof(ifr.ifr_name)); ifr.ifr_data = &edata; edata.cmd = ETHTOOL_GSET; - auto iRet = ::ioctl(sock, SIOCETHTOOL, &ifr); - if (iRet < 0) + if (::ioctl(iSocket, SIOCETHTOOL, &ifr) < 0) { ::close(iSocket); return; @@ -501,7 +500,6 @@ namespace Aurora::IO::Net case ARPHRD_IEEE80211_RADIOTAP: case ARPHRD_IEEE802154: case ARPHRD_IEEE802154_MONITOR: - define adapter.eNetworkType = ENetworkAdapterType::eIEEE80211; break; case ARPHRD_PRONET: @@ -523,8 +521,8 @@ namespace Aurora::IO::Net auto attr = IFLA_RTA(ifa); auto attrlen = hdr->nlmsg_len - NLMSG_LENGTH(sizeof(*ifa)); - for (; RTA_OK(attr, attrlen); attr = RTA_NEXT(attr, attrlen)) { - + for (; RTA_OK(attr, attrlen); attr = RTA_NEXT(attr, attrlen)) + { size_t dstlen = RTA_PAYLOAD(attr); if (attr->rta_type == IFLA_IFNAME) @@ -555,8 +553,8 @@ namespace Aurora::IO::Net adapter.uTransmitBytesPerSec = pStats64->tx_bytes; adapter.uReceiveBytesPerSec = pStats64->rx_bytes; } - } #endif + } } } } diff --git a/Source/IO/Net/AuNetSocket.Unix.cpp b/Source/IO/Net/AuNetSocket.Unix.cpp index 54e97b1b..332f9d20 100644 --- a/Source/IO/Net/AuNetSocket.Unix.cpp +++ b/Source/IO/Net/AuNetSocket.Unix.cpp @@ -29,8 +29,9 @@ namespace Aurora::IO::Net struct NetWorker *pWorker, const AuSPtr &pSocketDriver, AuUInt osHandle, - AuSPtr pParent) : - SocketBase(pInterface, pWorker, pSocketDriver, osHandle, pParent) + AuSPtr pParent, + SocketServer *pParent2) : + SocketBase(pInterface, pWorker, pSocketDriver, osHandle, pParent, pParent2) { } @@ -80,7 +81,7 @@ namespace Aurora::IO::Net return; } - if (this->bHasRemoteMany_ && this->connectMany_.ips.size()) + if (this->bHasRemoteMany_ && this->connectMany_.names.size()) { if (this->connectMany_.names[0].byEndpoint) { diff --git a/Source/IO/Net/AuNetSocket.hpp b/Source/IO/Net/AuNetSocket.hpp index 632edf86..6278b0fa 100644 --- a/Source/IO/Net/AuNetSocket.hpp +++ b/Source/IO/Net/AuNetSocket.hpp @@ -62,7 +62,7 @@ namespace Aurora::IO::Net AuSPtr GetUserDriver() override; - AuSPtr GetLockedWorkerThread(); + AuSPtr GetLockedWorkerThread() override; const NetEndpoint &GetRemoteEndpoint() override; const NetEndpoint &GetLocalEndpoint() override; diff --git a/Source/IO/Net/AuNetSocketChannel.cpp b/Source/IO/Net/AuNetSocketChannel.cpp index 901d7b9d..3133cacd 100644 --- a/Source/IO/Net/AuNetSocketChannel.cpp +++ b/Source/IO/Net/AuNetSocketChannel.cpp @@ -666,7 +666,7 @@ namespace Aurora::IO::Net pOutput->OnFailure((void *)nullptr); if (this->pRetargetInput == pOutput) { - this->pRetargetInput = {}; + AuResetMember(this->pRetargetInput); } } } @@ -684,7 +684,7 @@ namespace Aurora::IO::Net pInput->OnFailure((void *)nullptr); if (this->pRetargetOutput == pInput) { - this->pRetargetOutput = {}; + AuResetMember(this->pRetargetOutput); } } } @@ -713,7 +713,7 @@ namespace Aurora::IO::Net pOutput->OnFailure((void *)nullptr); if (this->pRetargetInput == pOutput) { - this->pRetargetInput = {}; + AuResetMember(this->pRetargetInput); } } return; @@ -749,7 +749,7 @@ namespace Aurora::IO::Net if (this->pRetargetOutput == pInput) { - this->pRetargetOutput = {}; + AuResetMember(this->pRetargetOutput); } } diff --git a/Source/IO/Net/AuNetSocketServerLimits.cpp b/Source/IO/Net/AuNetSocketServerLimits.cpp index 7b487f30..5d8aebe1 100644 --- a/Source/IO/Net/AuNetSocketServerLimits.cpp +++ b/Source/IO/Net/AuNetSocketServerLimits.cpp @@ -105,11 +105,11 @@ namespace Aurora::IO::Net AuOptional NetSocketServerLimits::GetAutoBanTimeSecs() { - return this->optAutoBanOnDDoSDetectA; + return this->optAutoBanTimeSecs; } AuOptional NetSocketServerLimits::SetAutoBanTimeSecs(AuOptional optNextValue) { - return AuExchange(this->optAutoBanOnDDoSDetectA, optNextValue); + return AuExchange(this->optAutoBanTimeSecs, optNextValue); } } \ No newline at end of file diff --git a/Source/Process/AuProcess.cpp b/Source/Process/AuProcess.cpp index 0c14e781..67f0d159 100644 --- a/Source/Process/AuProcess.cpp +++ b/Source/Process/AuProcess.cpp @@ -639,7 +639,7 @@ namespace Aurora::Process auto ret = reinterpret_cast(pGetProcAddress(reinterpret_cast(pHandle), symbol.c_str())); #else - auto ret = reinterpret_cast(dlsym(hapHandlendle, symbol.c_str())); + auto ret = reinterpret_cast(dlsym(pHandle, symbol.c_str())); #endif return ret; } diff --git a/Source/RNG/AuRandomDevice.cpp b/Source/RNG/AuRandomDevice.cpp index a044e9b4..83e62f8e 100644 --- a/Source/RNG/AuRandomDevice.cpp +++ b/Source/RNG/AuRandomDevice.cpp @@ -10,6 +10,8 @@ namespace Aurora::RNG { + static const double kDblEpsilon = 2.2204460492503131e-16; + RandomDevice::RandomDevice() { @@ -282,7 +284,7 @@ namespace Aurora::RNG double RandomDevice::NextDecimal() { - return this->UniformFloatInRange(DBL_EPSILON, 1.0); + return this->UniformFloatInRange(kDblEpsilon, 1.0); } AuUInt32 RandomDevice::NextIndex(AuUInt32 uCount /* = max + 1*/) @@ -300,7 +302,7 @@ namespace Aurora::RNG double RandomDevice::NextNumber(double dMin, double dMax) { auto dRange = dMax - dMin; - return this->UniformFloatInRange(DBL_EPSILON, dRange + DBL_EPSILON) + dMin - DBL_EPSILON; + return this->UniformFloatInRange(kDblEpsilon, dRange + kDblEpsilon) + dMin - kDblEpsilon; } AuMemoryViewRead RandomDevice::ToSeed()