LeviLamina
Loading...
Searching...
No Matches
ActiveTransfersManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/network/NetworkIdentifier.h"
8
9// auto generated forward declare list
10// clang-format off
12namespace ClientBlobCache::Server { class ActiveTransfer; }
13namespace ClientBlobCache::Server { class Blob; }
14namespace ClientBlobCache::Server { class TransferBuilder; }
15// clang-format on
16
17namespace ClientBlobCache::Server {
18
20public:
21 // ActiveTransfersManager inner types declare
22 // clang-format off
23 class TransferTracker;
24 // clang-format on
25
26 // ActiveTransfersManager inner types define
27 class TransferTracker {
28 public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 8, ::ClientBlobCache::Server::ActiveTransfersManager&> mCache;
32 ::ll::TypedStorage<8, 176, ::NetworkIdentifier const> mOwner;
33 ::ll::TypedStorage<8, 24, ::std::vector<::ClientBlobCache::Server::ActiveTransfer>> mTransfers;
34 ::ll::TypedStorage<4, 4, uint> mMaxConcurrentTransfers;
35 // NOLINTEND
36
37 public:
38 // prevent constructor by default
39 TransferTracker& operator=(TransferTracker const&);
40 TransferTracker(TransferTracker const&);
41 TransferTracker();
42
43 public:
44 // member functions
45 // NOLINTBEGIN
46 MCNAPI void onAckReceived(uint64 acked);
47 // NOLINTEND
48 };
49
50 using CacheMap = ::std::map<uint64, ::std::weak_ptr<::ClientBlobCache::Server::Blob>>;
51
52 using CacheMapIterator = ::std::_Tree_iterator<::std::_Tree_val<
53 ::std::_Tree_simple_types<::std::pair<uint64 const, ::std::weak_ptr<::ClientBlobCache::Server::Blob>>>>>;
54
55public:
56 // member variables
57 // NOLINTBEGIN
58 ::ll::TypedStorage<
59 8,
60 64,
61 ::std::unordered_map<
63 ::std::unique_ptr<::ClientBlobCache::Server::ActiveTransfersManager::TransferTracker>>>
64 mTransferTrackerMap;
65 ::ll::TypedStorage<8, 16, ::std::map<uint64, ::std::weak_ptr<::ClientBlobCache::Server::Blob>>> mSentBlobs;
66 ::ll::TypedStorage<8, 8, uint64> mCacheSizeBytes;
67 // NOLINTEND
68
69public:
70 // virtual functions
71 // NOLINTBEGIN
72 virtual ~ActiveTransfersManager() /*override*/;
73 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
78 MCAPI ::std::shared_ptr<::ClientBlobCache::Server::Blob> dropBlobFor(::NetworkIdentifier const& client, uint64 id);
79
80 MCAPI void enableCacheFor(::NetworkIdentifier const& client);
81
82 MCAPI ::std::shared_ptr<::ClientBlobCache::Server::Blob>
83 rememberBlob(uint64 id, ::std::string& data, bool isChunkInTickRange);
84
85 MCAPI ::ClientBlobCache::Server::TransferBuilder startTransfer(::NetworkIdentifier const& client) const;
86
87 MCAPI ::ClientBlobCache::Server::TransferBuilder tryStartTransfer(::NetworkIdentifier const& client) const;
88
89 MCAPI void updateNetworkConditions(::ServerNetworkSystem& handler);
90 // NOLINTEND
91
92public:
93 // destructor thunk
94 // NOLINTBEGIN
95 MCAPI void $dtor();
96 // NOLINTEND
97
98public:
99 // vftables
100 // NOLINTBEGIN
101 MCNAPI static void** $vftable();
102 // NOLINTEND
103};
104
105} // namespace ClientBlobCache::Server
Definition EnableNonOwnerReferences.h:7
Definition ActiveTransfer.h:7
Definition ActiveTransfersManager.h:19
Definition TransferBuilder.h:7
Definition NetworkIdentifier.h:10
Definition ServerNetworkSystem.h:34