#include <folly/io/async/Request.h>
#include <folly/GLog.h>
#include <folly/concurrency/container/SingleWriterFixedHashMap.h>
#include <folly/tracing/StaticTracepoint.h>
namespace folly {
RequestToken::RequestToken(const std::string& str) { … }
std::string RequestToken::getDebugString() const { … }
Synchronized<F14FastMap<std::string, uint32_t>>& RequestToken::getCache() { … }
FOLLY_ALWAYS_INLINE
void RequestData::acquireRef() { … }
void RequestData::releaseRefClearOnly() { … }
void RequestData::releaseRefDeleteOnly() { … }
FOLLY_ALWAYS_INLINE
void RequestData::releaseRefClearDelete() { … }
FOLLY_NOINLINE
void RequestData::releaseRefClearDeleteSlow() { … }
struct RequestContext::State::Combined : hazptr_obj_base<Combined> { … };
RequestContext::State::State() = default;
FOLLY_ALWAYS_INLINE
RequestContext::State::State(const State& o) { … }
RequestContext::State::~State() { … }
class FOLLY_NODISCARD RequestContext::State::LockGuard { … };
FOLLY_ALWAYS_INLINE
RequestContext::State::Combined* RequestContext::State::combined() const { … }
FOLLY_ALWAYS_INLINE
RequestContext::State::Combined* RequestContext::State::ensureCombined() { … }
FOLLY_ALWAYS_INLINE
void RequestContext::State::setCombined(Combined* p) { … }
FOLLY_ALWAYS_INLINE
bool RequestContext::State::doSetContextData(
const RequestToken& token,
std::unique_ptr<RequestData>& data,
DoSetBehaviour behaviour,
bool safe) { … }
FOLLY_ALWAYS_INLINE
RequestContext::State::SetContextDataResult
RequestContext::State::doSetContextDataHelper(
const RequestToken& token,
std::unique_ptr<RequestData>& data,
DoSetBehaviour behaviour,
bool safe) { … }
FOLLY_ALWAYS_INLINE
RequestContext::State::Combined* FOLLY_NULLABLE
RequestContext::State::eraseOldData(
RequestContext::State::Combined* cur,
const RequestToken& token,
RequestData* olddata,
bool safe) { … }
FOLLY_ALWAYS_INLINE
RequestContext::State::Combined* FOLLY_NULLABLE
RequestContext::State::insertNewData(
RequestContext::State::Combined* cur,
const RequestToken& token,
std::unique_ptr<RequestData>& data,
bool found) { … }
FOLLY_ALWAYS_INLINE
bool RequestContext::State::hasContextData(const RequestToken& token) const { … }
FOLLY_ALWAYS_INLINE
RequestData* FOLLY_NULLABLE
RequestContext::State::getContextData(const RequestToken& token) { … }
FOLLY_ALWAYS_INLINE
const RequestData* FOLLY_NULLABLE
RequestContext::State::getContextData(const RequestToken& token) const { … }
FOLLY_ALWAYS_INLINE
void RequestContext::State::onSet() { … }
FOLLY_ALWAYS_INLINE
void RequestContext::State::onUnset() { … }
void RequestContext::State::clearContextData(const RequestToken& token) { … }
RequestContext::State::Combined* RequestContext::State::expand(
RequestContext::State::Combined* c) { … }
RequestContext::RequestContext() : … { … }
RequestContext::RequestContext(intptr_t rootid) : … { … }
RequestContext::RequestContext(const RequestContext& ctx, intptr_t rootid, Tag)
: … { … }
RequestContext::RequestContext(const RequestContext& ctx, Tag)
: … { … }
std::shared_ptr<RequestContext> RequestContext::copyAsRoot(
const RequestContext& ctx, intptr_t rootid) { … }
std::shared_ptr<RequestContext> RequestContext::copyAsChild(
const RequestContext& ctx) { … }
void RequestContext::setContextData(
const RequestToken& token, std::unique_ptr<RequestData> data) { … }
bool RequestContext::setContextDataIfAbsent(
const RequestToken& token, std::unique_ptr<RequestData> data) { … }
void RequestContext::overwriteContextData(
const RequestToken& token, std::unique_ptr<RequestData> data, bool safe) { … }
bool RequestContext::hasContextData(const RequestToken& val) const { … }
RequestData* FOLLY_NULLABLE
RequestContext::getContextData(const RequestToken& val) { … }
const RequestData* FOLLY_NULLABLE
RequestContext::getContextData(const RequestToken& val) const { … }
void RequestContext::onSet() { … }
void RequestContext::onUnset() { … }
void RequestContext::clearContextData(const RequestToken& val) { … }
std::shared_ptr<RequestContext> RequestContext::setContext(
std::shared_ptr<RequestContext> const& newCtx) { … }
std::shared_ptr<RequestContext> RequestContext::setContext(
std::shared_ptr<RequestContext>&& newCtx_) { … }
namespace {
thread_local bool getStaticContextCalled = …;
}
RequestContext::StaticContext& RequestContext::getStaticContext() { … }
RequestContext::StaticContext*
RequestContext::tryGetStaticContext() { … }
RequestContext::StaticContextAccessor
RequestContext::accessAllThreads() { … }
std::vector<RequestContext::RootIdInfo>
RequestContext::getRootIdsFromAllThreads() { … }
std::shared_ptr<RequestContext>
RequestContext::setShallowCopyContext() { … }
RequestContext* RequestContext::get() { … }
RequestContext* RequestContext::try_get() { … }
}