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