LeviLamina
Loading...
Searching...
No Matches
NetworkStatistics.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/raknet/RakNetStatistics.h"
8#include "mc/network/ClientOrServerNetworkSystemRef.h"
9#include "mc/network/PacketObserver.h"
10#include "mc/network/TrackerType.h"
11#include "mc/platform/threading/Mutex.h"
12
13// auto generated forward declare list
14// clang-format off
17class Packet;
19class WeakEntityRef;
20namespace Core { class OutputFileStream; }
21// clang-format on
22
23class NetworkStatistics : public ::PacketObserver {
24public:
25 // NetworkStatistics inner types declare
26 // clang-format off
27 struct OverviewStats;
28 // clang-format on
29
30 // NetworkStatistics inner types define
32 public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<4, 4, uint> sentBytesUnpacked;
36 ::ll::TypedStorage<4, 4, uint> sentBytesPacked;
37 ::ll::TypedStorage<4, 4, uint> receivedBytesUnpacked;
38 ::ll::TypedStorage<4, 4, uint> receivedBytesPacked;
39 // NOLINTEND
40 };
41
42public:
43 // member variables
44 // NOLINTBEGIN
45 ::ll::TypedStorage<4, 4, ::TrackerType const> mType;
46 ::ll::TypedStorage<8, 16, ::ClientOrServerNetworkSystemRef> mNetwork;
47 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::NetworkDebugManager> const> mNetworkDebugManager;
48 ::ll::TypedStorage<4, 4, int> mTicks;
49 ::ll::TypedStorage<4, 16, ::NetworkStatistics::OverviewStats> mTotalOverview;
50 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::PacketObserver::PacketStats>> mTotalPacketStats;
51 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::PacketObserver::PacketStats>> mDebuggerPacketStats;
52 ::ll::TypedStorage<8, 24, ::std::vector<::PacketObserver::PacketStats>> mTotalCSVPacketStats;
53 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::PacketObserver::PacketStats>> mCurrentPacketStats;
54 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::string>> mCurrentSourceNetworkIdentifierStrings;
55 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::string>> mCurrentTargetNetworkIdentifierStrings;
56 ::ll::TypedStorage<8, 10656, ::std::array<::std::string, 333>> mPacketNames;
57 ::ll::TypedStorage<4, 16, ::NetworkStatistics::OverviewStats> mCurrentOverview;
58 ::ll::TypedStorage<8, 24, ::std::vector<::NetworkStatistics::OverviewStats>> mLastSeconds;
59 ::ll::TypedStorage<8, 8, double> mStartSeconds;
60 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mRakNetStatsReadingLock;
61 ::ll::TypedStorage<8, 224, ::RakNet::RakNetStatistics> mRakNetStatsReading;
62 ::ll::TypedStorage<8, 64, ::std::function<bool(::RakNet::RakNetStatistics&)>> mGetRakNetStatsReading;
63 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Core::OutputFileStream>> mCSVFile;
64 // NOLINTEND
65
66public:
67 // prevent constructor by default
68 NetworkStatistics();
69
70public:
71 // virtual functions
72 // NOLINTBEGIN
73 virtual ~NetworkStatistics() /*override*/;
74
75 virtual void packetSentTo(::NetworkIdentifier const& target, ::Packet const& packet, uint size) /*override*/;
76
77 virtual void packetReceivedFrom(::NetworkIdentifier const& source, ::Packet const& packet, uint size) /*override*/;
78
79 virtual void dataSentTo(::NetworkIdentifier const& target, ::std::string_view data) /*override*/;
80
81 virtual void dataReceivedFrom(::NetworkIdentifier const& source, ::std::string const& data) /*override*/;
82
83 virtual void reset() /*override*/;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI NetworkStatistics(
91 ::TrackerType type,
92 ::std::function<bool(::RakNet::RakNetStatistics&)>&& getRakNetStatsReading,
93 ::Bedrock::NotNullNonOwnerPtr<::NetworkDebugManager> networkDebugManager
94 );
95
96 MCAPI NetworkStatistics(
98 ::TrackerType type,
99 ::std::function<bool(::RakNet::RakNetStatistics&)>&& getRakNetStatsReading,
100 ::Bedrock::NotNullNonOwnerPtr<::NetworkDebugManager> networkDebugManager
101 );
102
103 MCAPI void _logPeerConnectionInfo(::std::vector<::WeakEntityRef> const& userList, bool includeAverages) const;
104
105 MCAPI_S ::std::string getVerboseInfo() const;
106
107 MCAPI void tick(::std::vector<::WeakEntityRef> const* userList);
108
109 MCAPI_C void updateCSV(double time);
110 // NOLINTEND
111
112public:
113 // constructor thunks
114 // NOLINTBEGIN
115 MCAPI void* $ctor(
117 ::TrackerType type,
118 ::std::function<bool(::RakNet::RakNetStatistics&)>&& getRakNetStatsReading,
119 ::Bedrock::NotNullNonOwnerPtr<::NetworkDebugManager> networkDebugManager
120 );
121
122 MCAPI void* $ctor(
123 ::ServerNetworkSystem& server,
124 ::TrackerType type,
125 ::std::function<bool(::RakNet::RakNetStatistics&)>&& getRakNetStatsReading,
126 ::Bedrock::NotNullNonOwnerPtr<::NetworkDebugManager> networkDebugManager
127 );
128 // NOLINTEND
129
130public:
131 // destructor thunk
132 // NOLINTBEGIN
133 MCAPI void $dtor();
134 // NOLINTEND
135
136public:
137 // virtual function thunks
138 // NOLINTBEGIN
139 MCAPI void $packetSentTo(::NetworkIdentifier const& target, ::Packet const& packet, uint size);
140
141 MCAPI void $packetReceivedFrom(::NetworkIdentifier const& source, ::Packet const& packet, uint size);
142
143 MCAPI void $dataSentTo(::NetworkIdentifier const& target, ::std::string_view data);
144
145 MCAPI void $dataReceivedFrom(::NetworkIdentifier const& source, ::std::string const& data);
146
147 MCAPI void $reset();
148
149
150 // NOLINTEND
151
152public:
153 // vftables
154 // NOLINTBEGIN
155 MCNAPI static void** $vftable();
156 // NOLINTEND
157};
Definition ClientOrServerNetworkSystemRef.h:15
Definition OutputFileStream.h:15
Definition NetworkDebugManager.h:10
Definition NetworkIdentifier.h:10
static MCAPI void ** $vftable()
Definition PacketObserver.h:14
MCAPI void $dtor()
MCAPI void $reset()
Definition Packet.h:28
Definition ServerNetworkSystem.h:34
Definition WeakEntityRef.h:14
Definition NetworkStatistics.h:31
Definition RakNetStatistics.h:7