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
46public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<8, 1648, ::PacketTraceNetworkPeer::PacketTraceQueue> mSentPackets;
50 ::ll::TypedStorage<8, 1648, ::PacketTraceNetworkPeer::PacketTraceQueue> mReceivedPackets;
51 // NOLINTEND
52
53public:
54 // prevent constructor by default
55 PacketTraceNetworkPeer();
56
57public:
58 // virtual functions
59 // NOLINTBEGIN
60 virtual void sendPacket(
61 ::std::string const& data,
62 ::NetworkPeer::Reliability reliability,
63 ::Compressibility compressible
64 ) /*override*/;
65
66 virtual ::NetworkPeer::NetworkStatus getNetworkStatus() const /*override*/;
67
68 virtual ::NetworkPeer::DataStatus _receivePacket(
69 ::std::string& outData,
70 ::std::shared_ptr<::std::chrono::steady_clock::time_point> const& timepointPtr
71 ) /*override*/;
72
73 virtual ~PacketTraceNetworkPeer() /*override*/ = default;
74 // NOLINTEND
75
76public:
77 // member functions
78 // NOLINTBEGIN
79 MCAPI explicit PacketTraceNetworkPeer(::std::shared_ptr<::NetworkPeer> peer);
80
81 MCAPI void _recordPacket(::std::string const& data, bool isOutgoing);
82
83#ifdef LL_PLAT_C
84 MCAPI ::std::pair<::Json::Value, ::Json::Value> getPacketTraces() const;
85#endif
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCAPI void* $ctor(::std::shared_ptr<::NetworkPeer> peer);
92 // NOLINTEND
93
94public:
95 // virtual function thunks
96 // NOLINTBEGIN
97 MCAPI void
98 $sendPacket(::std::string const& data, ::NetworkPeer::Reliability reliability, ::Compressibility compressible);
99
100 MCFOLD ::NetworkPeer::NetworkStatus $getNetworkStatus() const;
101
102 MCAPI ::NetworkPeer::DataStatus $_receivePacket(
103 ::std::string& outData,
104 ::std::shared_ptr<::std::chrono::steady_clock::time_point> const& timepointPtr
105 );
106
107
108 // NOLINTEND
109
110public:
111 // vftables
112 // NOLINTBEGIN
113 MCNAPI static void** $vftable();
114 // NOLINTEND
115};
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