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
12// auto generated forward declare list
13// clang-format off
16class Packet;
18class WeakEntityRef;
19namespace Core { class OutputFileStream; }
20// clang-format on
21
22class NetworkStatistics : public ::PacketObserver {
23public:
24 // NetworkStatistics inner types declare
25 // clang-format off
26 struct OverviewStats;
27 // clang-format on
28
29 // NetworkStatistics inner types define
31 public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<4, 4, uint> sentBytesUnpacked;
35 ::ll::TypedStorage<4, 4, uint> sentBytesPacked;
36 ::ll::TypedStorage<4, 4, uint> receivedBytesUnpacked;
37 ::ll::TypedStorage<4, 4, uint> receivedBytesPacked;
38 // NOLINTEND
39 };
40
41public:
42 // member variables
43 // NOLINTBEGIN
44 ::ll::TypedStorage<4, 4, ::TrackerType const> mType;
45 ::ll::TypedStorage<8, 16, ::ClientOrServerNetworkSystemRef> mNetwork;
46 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::NetworkDebugManager> const> mNetworkDebugManager;
47 ::ll::TypedStorage<4, 4, int> mTicks;
48 ::ll::TypedStorage<4, 16, ::NetworkStatistics::OverviewStats> mTotalOverview;
49 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::PacketObserver::PacketStats>> mTotalPacketStats;
50 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::PacketObserver::PacketStats>> mDebuggerPacketStats;
51 ::ll::TypedStorage<8, 24, ::std::vector<::PacketObserver::PacketStats>> mTotalCSVPacketStats;
52 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::PacketObserver::PacketStats>> mCurrentPacketStats;
53 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::string>> mCurrentSourceNetworkIdentifierStrings;
54 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::string>> mCurrentTargetNetworkIdentifierStrings;
55 ::ll::TypedStorage<8, 11296, ::std::array<::std::string, 353>> mPacketNames;
56 ::ll::TypedStorage<4, 16, ::NetworkStatistics::OverviewStats> mCurrentOverview;
57 ::ll::TypedStorage<8, 24, ::std::vector<::NetworkStatistics::OverviewStats>> mLastSeconds;
58 ::ll::TypedStorage<8, 8, double> mStartSeconds;
59 ::ll::TypedStorage<8, 80, ::std::mutex> mRakNetStatsReadingLock;
60 ::ll::TypedStorage<8, 224, ::RakNet::RakNetStatistics> mRakNetStatsReading;
61 ::ll::TypedStorage<8, 64, ::std::function<bool(::RakNet::RakNetStatistics&)>> mGetRakNetStatsReading;
62 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Core::OutputFileStream>> mCSVFile;
63 // NOLINTEND
64
65public:
66 // prevent constructor by default
67 NetworkStatistics();
68
69public:
70 // virtual functions
71 // NOLINTBEGIN
72 virtual ~NetworkStatistics() /*override*/ = default;
73
74 virtual void packetSentTo(::NetworkIdentifier const& target, ::Packet const& packet, uint size) /*override*/;
75
76 virtual void packetReceivedFrom(::NetworkIdentifier const& source, ::Packet const& packet, uint size) /*override*/;
77
78 virtual void dataSentTo(::NetworkIdentifier const& target, ::std::string_view data) /*override*/;
79
80 virtual void dataReceivedFrom(::NetworkIdentifier const& source, ::std::string const& data) /*override*/;
81
82 virtual void reset() /*override*/;
83 // NOLINTEND
84
85public:
86 // member functions
87 // NOLINTBEGIN
88 MCAPI NetworkStatistics(
90 ::TrackerType type,
91 ::std::function<bool(::RakNet::RakNetStatistics&)>&& getRakNetStatsReading,
92 ::Bedrock::NotNullNonOwnerPtr<::NetworkDebugManager> networkDebugManager
93 );
94
95 MCAPI NetworkStatistics(
97 ::TrackerType type,
98 ::std::function<bool(::RakNet::RakNetStatistics&)>&& getRakNetStatsReading,
99 ::Bedrock::NotNullNonOwnerPtr<::NetworkDebugManager> networkDebugManager
100 );
101
102 MCAPI ::std::unordered_map<int, ::PacketObserver::PacketStats> getAndResetDebuggerStats();
103
104#ifdef LL_PLAT_S
105 MCAPI ::std::string getVerboseInfo() const;
106#endif
107
108 MCAPI void tick(::std::vector<::WeakEntityRef> const* userList);
109
110#ifdef LL_PLAT_C
111 MCAPI void updateCSV(double time);
112#endif
113 // NOLINTEND
114
115public:
116 // constructor thunks
117 // NOLINTBEGIN
118 MCAPI void* $ctor(
120 ::TrackerType type,
121 ::std::function<bool(::RakNet::RakNetStatistics&)>&& getRakNetStatsReading,
122 ::Bedrock::NotNullNonOwnerPtr<::NetworkDebugManager> networkDebugManager
123 );
124
125 MCAPI void* $ctor(
126 ::ServerNetworkSystem& server,
127 ::TrackerType type,
128 ::std::function<bool(::RakNet::RakNetStatistics&)>&& getRakNetStatsReading,
129 ::Bedrock::NotNullNonOwnerPtr<::NetworkDebugManager> networkDebugManager
130 );
131 // NOLINTEND
132
133public:
134 // virtual function thunks
135 // NOLINTBEGIN
136 MCAPI void $packetSentTo(::NetworkIdentifier const& target, ::Packet const& packet, uint size);
137
138 MCAPI void $packetReceivedFrom(::NetworkIdentifier const& source, ::Packet const& packet, uint size);
139
140 MCAPI void $dataSentTo(::NetworkIdentifier const& target, ::std::string_view data);
141
142 MCAPI void $dataReceivedFrom(::NetworkIdentifier const& source, ::std::string const& data);
143
144 MCAPI void $reset();
145
146
147 // NOLINTEND
148};
Definition ClientOrServerNetworkSystemRef.h:13
Definition OutputFileStream.h:10
Definition NetworkDebugManager.h:14
Definition NetworkIdentifier.h:10
Definition PacketObserver.h:14
MCAPI void $reset()
Definition Packet.h:29
Definition ServerNetworkSystem.h:34
Definition WeakEntityRef.h:14
Definition NetworkStatistics.h:30
Definition RakNetStatistics.h:7