#include "absl/strings/internal/cordz_handle.h"
#include <atomic>
#include "absl/base/internal/raw_logging.h"
#include "absl/base/no_destructor.h"
#include "absl/synchronization/mutex.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
namespace cord_internal {
namespace {
struct Queue { … };
static Queue& GlobalQueue() { … }
}
CordzHandle::CordzHandle(bool is_snapshot) : … { … }
CordzHandle::~CordzHandle() { … }
bool CordzHandle::SafeToDelete() const { … }
void CordzHandle::Delete(CordzHandle* handle) { … }
std::vector<const CordzHandle*> CordzHandle::DiagnosticsGetDeleteQueue() { … }
bool CordzHandle::DiagnosticsHandleIsSafeToInspect(
const CordzHandle* handle) const { … }
std::vector<const CordzHandle*>
CordzHandle::DiagnosticsGetSafeToInspectDeletedHandles() { … }
}
ABSL_NAMESPACE_END
}