/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: AuSocketStats.hpp Date: 2022-12-06 Author: Reece ***/ #pragma once #include namespace Aurora::IO::Net { struct SocketStats : ISocketStats { void AddBytes(AuUInt32 uBytes); virtual AuInt64 GetFirstTickTimeMS() override; virtual AuInt64 GetLastTickTimeMS() override; virtual AuUInt64 GetTotalBytesTransferred() override; virtual double GetApproximatedThroughput() override; private: Utility::ThroughputCalculator calculator; AuInt64 iFirstTime {}; AuInt64 iLastTime {}; AuUInt64 uTotalTransferred {}; }; }