LeviLamina
Loading...
Searching...
No Matches
PacketTraceNetworkPeer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/network/Compressibility.h"
7#include "mc/network/MinecraftPacketIds.h"
8#include "mc/network/NetworkPeer.h"
9#include "mc/platform/brstd/simple_circular_queue.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace Json { class Value; }
14// clang-format on
15
16class PacketTraceNetworkPeer : public ::NetworkPeer {
17public:
18 // PacketTraceNetworkPeer inner types declare
19 // clang-format off
20 struct PacketTraceInfo;
21 class PacketTraceQueue;
22 // clang-format on
23
24 // PacketTraceNetworkPeer inner types define
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<4, 4, ::MinecraftPacketIds> packetId;
30 ::ll::TypedStorage<8, 8, int64> recordedTime;
31 ::ll::TypedStorage<8, 8, uint64> originalStreamSize;
32 ::ll::TypedStorage<1, 513, char[513]> hexData;
33 // NOLINTEND
34
35 public:
36 // member functions
37 // NOLINTBEGIN
38#ifdef LL_PLAT_C
39 MCAPI ::Json::Value toJson() const;
40#endif
41 // NOLINTEND
42 };
43
44 class PacketTraceQueue : public ::brstd::simple_circular_queue<::PacketTraceNetworkPeer::PacketTraceInfo, 3> {
45 public:
46 // member functions
47 // NOLINTBEGIN
48#ifdef LL_PLAT_C
49 MCAPI ::Json::Value toJson() const;
50#endif
51 // NOLINTEND
52 };
53
54public:
55 // member variables
56 // NOLINTBEGIN
57 ::ll::TypedStorage<8, 1648, ::PacketTraceNetworkPeer::PacketTraceQueue> mSentPackets;
58 ::ll::TypedStorage<8, 1648, ::PacketTraceNetworkPeer::PacketTraceQueue> mReceivedPackets;
59 // NOLINTEND
60
61public:
62 // prevent constructor by default
63 PacketTraceNetworkPeer();
64
65public:
66 // virtual functions
67 // NOLINTBEGIN
68 virtual void sendPacket(
69 ::std::string const& data,
70 ::NetworkPeer::Reliability reliability,
71 ::Compressibility compressible
72 ) /*override*/;
73
74 virtual ::NetworkPeer::NetworkStatus getNetworkStatus() const /*override*/;
75
76 virtual ::NetworkPeer::DataStatus _receivePacket(
77 ::std::string& outData,
78 ::std::shared_ptr<::std::chrono::steady_clock::time_point> const& timepointPtr
79 ) /*override*/;
80 // NOLINTEND
81
82public:
83 // member functions
84 // NOLINTBEGIN
85 MCAPI explicit PacketTraceNetworkPeer(::std::shared_ptr<::NetworkPeer> peer);
86
87 MCAPI void _recordPacket(::std::string const& data, bool isOutgoing);
88
89#ifdef LL_PLAT_C
90 MCAPI ::std::pair<::Json::Value, ::Json::Value> getPacketTraces() const;
91#endif
92 // NOLINTEND
93
94public:
95 // constructor thunks
96 // NOLINTBEGIN
97 MCAPI void* $ctor(::std::shared_ptr<::NetworkPeer> peer);
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCAPI void
104 $sendPacket(::std::string const& data, ::NetworkPeer::Reliability reliability, ::Compressibility compressible);
105
106 MCFOLD ::NetworkPeer::NetworkStatus $getNetworkStatus() const;
107
108 MCAPI ::NetworkPeer::DataStatus $_receivePacket(
109 ::std::string& outData,
110 ::std::shared_ptr<::std::chrono::steady_clock::time_point> const& timepointPtr
111 );
112
113
114 // NOLINTEND
115
116public:
117 // vftables
118 // NOLINTBEGIN
119 MCNAPI static void** $vftable();
120 // NOLINTEND
121};
Definition Value.h:16
Definition NetworkPeer.h:8
Definition PacketTraceNetworkPeer.h:44
static MCAPI void ** $vftable()
Definition simple_circular_queue.h:8
STL namespace.
Definition PacketTraceNetworkPeer.h:25