#include <grpc/support/port_platform.h>
#include "src/core/lib/gprpp/work_serializer.h"
#include <stdint.h>
#include <atomic>
#include <functional>
#include <memory>
#include <utility>
#include <grpc/support/log.h>
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/mpscq.h"
#include "src/core/lib/gprpp/orphanable.h"
namespace grpc_core {
DebugOnlyTraceFlag grpc_work_serializer_trace(false, "work_serializer");
class WorkSerializer::WorkSerializerImpl : public Orphanable { … };
void WorkSerializer::WorkSerializerImpl::Run(std::function<void()> callback,
const DebugLocation& location) { … }
void WorkSerializer::WorkSerializerImpl::Schedule(
std::function<void()> callback, const DebugLocation& location) { … }
void WorkSerializer::WorkSerializerImpl::Orphan() { … }
void WorkSerializer::WorkSerializerImpl::DrainQueue() { … }
void WorkSerializer::WorkSerializerImpl::DrainQueueOwned() { … }
WorkSerializer::WorkSerializer()
: … { … }
WorkSerializer::~WorkSerializer() { … }
void WorkSerializer::Run(std::function<void()> callback,
const DebugLocation& location) { … }
void WorkSerializer::Schedule(std::function<void()> callback,
const DebugLocation& location) { … }
void WorkSerializer::DrainQueue() { … }
}