/*** Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: AuNetSocketServerLimits.hpp Date: 2023-11-29 Author: Reece ***/ #pragma once namespace Aurora::IO::Net { struct NetSocketServerLimits : ISocketServerLimits { void NotifyChildRemoved(); AuOptional GetMaxConnectionsPerIp() override; AuOptional SetMaxConnectionsPerIp(AuOptional uNextValue) override; AuOptional GetMaxConnections() override; AuOptional SetMaxConnections(AuOptional uNextValue) override; AuList GetWhitelist() override; void SetWhitelist(AuList whitelist) override; AuList GetBlacklist() override; void SetBlacklist(AuList blacklist) override; AuOptional GetBeforeDDoSDCAverageThroughputLimit() override; AuOptional SetBeforeDDoSDCAverageThroughputLimit(AuOptional uNextValue) override; AuOptional GetBeforeDDoSDCFrameTimeMS() override; AuOptional SetBeforeDDoSDCFrameTimeMS(AuOptional uNextValue) override; AuOptional GetBeforeDDoSTickFrameLimitCount() override; AuOptional SetBeforeDDoSTickFrameLimitCount(AuOptional uNextValue) override; AuOptional GetBeforeDDoSTickFrameTimeMS() override; AuOptional SetBeforeDDoSTickFrameTimeMS(AuOptional uNextValue) override; AuOptional GetAutoBanOnDDoSDetectA() override; AuOptional SetAutoBanOnDDoSDetectA(AuOptional optNextValue) override; AuOptional GetAutoBanTimeSecs() override; AuOptional SetAutoBanTimeSecs(AuOptional optNextValue) override; AuOptional optBeforeDDoSTickFrameTimeMS; AuOptional optBeforeDDoSTickFrameLimitCount; AuOptional optBeforeDDoSDCFrameTimeMS; AuOptional optBeforeDDoSDCAverageThroughputLimit; AuOptional optMaxConnectionsPerIp; AuOptional optMaxConnections; AuOptional optAutoBanOnDDoSDetectA; AuOptional optAutoBanTimeSecs; }; }