PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/react-native/ReactCommon/jsinspector-modern/network
Просмотр файла: BoundedRequestBuffer.h
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include <deque>
#include <memory>
#include <string>
#include <unordered_map>
namespace facebook::react::jsinspector_modern {
/**
* Maximum memory size (in bytes) to store buffered text and image request
* bodies.
*/
constexpr size_t REQUEST_BUFFER_MAX_SIZE_BYTES = 100 * 1024 * 1024; // 100MB
/**
* A class to store network response previews keyed by requestId, with a fixed
* memory limit. Evicts oldest responses when memory is exceeded.
*/
class BoundedRequestBuffer {
public:
struct ResponseBody {
std::string data;
bool base64Encoded;
};
/**
* Store a response preview with the given requestId and data.
* If adding the data exceeds the memory limit, removes oldest requests until
* there is enough space or the buffer is empty.
* \param requestId Unique identifier for the request.
* \param data The request preview data (e.g. text or image body).
* \param base64Encoded True if the data is base64-encoded, false otherwise.
* \return True if the response body was stored, false otherwise.
*/
bool put(
const std::string& requestId,
std::string_view data,
bool base64Encoded) noexcept;
/**
* Retrieve a response preview by requestId.
* \param requestId The unique identifier for the request.
* \return A shared pointer to the request data if found, otherwise nullptr.
*/
std::shared_ptr<const ResponseBody> get(const std::string& requestId) const;
/**
* Remove all entries from the buffer.
*/
void clear();
private:
std::unordered_map<std::string, std::shared_ptr<const ResponseBody>>
responses_;
std::deque<std::string> order_;
size_t currentSize_ = 0;
};
} // namespace facebook::react::jsinspector_modern
Выполнить команду
Для локальной разработки. Не используйте в интернете!