4#ifndef _Stroika_Framework_SystemPerformance_Instruments_Network_h_
5#define _Stroika_Framework_SystemPerformance_Instruments_Network_h_ 1
7#include "Stroika/Frameworks/StroikaPreComp.h"
11#include "Stroika/Foundation/Containers/Collection.h"
12#include "Stroika/Foundation/Containers/Set.h"
13#include "Stroika/Foundation/DataExchange/ObjectVariantMapper.h"
16#include "Stroika/Frameworks/SystemPerformance/Instrument.h"
27namespace Stroika::Frameworks::SystemPerformance::Instruments::Network {
29 using Containers::Collection;
30 using DataExchange::ObjectVariantMapper;
42 optional<uint64_t> fTotalBytesReceived;
48 optional<double> fBytesPerSecondReceived;
54 optional<double> fTCPSegmentsPerSecond;
60 optional<double> fTCPRetransmittedSegmentsPerSecond;
67 optional<uint64_t> fTotalPacketsReceived;
73 optional<double> fPacketsPerSecondReceived;
101 struct InterfaceInfo {
112 Interface fInterface;
122 nonvirtual
String ToString ()
const;
129 optional<Collection<InterfaceInfo>> fInterfaces;
180namespace Stroika::Frameworks::SystemPerformance {
chrono::duration< double > DurationSeconds
chrono::duration<double> - a time span (length of time) measured in seconds, but high precision.
String is like std::u32string, except it is much easier to use, often much more space efficient,...
ObjectVariantMapper can be used to map C++ types to and from variant-union types, which can be transp...