#include "src/tracing/ipc/service/service_ipc_host_impl.h"
#include "perfetto/base/logging.h"
#include "perfetto/base/task_runner.h"
#include "perfetto/ext/ipc/host.h"
#include "perfetto/ext/tracing/core/tracing_service.h"
#include "src/tracing/ipc/service/consumer_ipc_service.h"
#include "src/tracing/ipc/service/producer_ipc_service.h"
#include "src/tracing/ipc/service/relay_ipc_service.h"
#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
#include "src/tracing/ipc/shared_memory_windows.h"
#else
#include "src/tracing/ipc/posix_shared_memory.h"
#endif
namespace perfetto {
namespace {
constexpr uint32_t kProducerSocketTxTimeoutMs = …;
}
std::unique_ptr<ServiceIPCHost> ServiceIPCHost::CreateInstance(
base::TaskRunner* task_runner,
TracingService::InitOpts init_opts) { … }
ServiceIPCHostImpl::ServiceIPCHostImpl(base::TaskRunner* task_runner,
TracingService::InitOpts init_opts)
: … { … }
ServiceIPCHostImpl::~ServiceIPCHostImpl() { … }
bool ServiceIPCHostImpl::Start(
const std::vector<std::string>& producer_socket_names,
const char* consumer_socket_name) { … }
bool ServiceIPCHostImpl::Start(base::ScopedSocketHandle producer_socket_fd,
base::ScopedSocketHandle consumer_socket_fd) { … }
bool ServiceIPCHostImpl::Start(std::unique_ptr<ipc::Host> producer_host,
std::unique_ptr<ipc::Host> consumer_host) { … }
bool ServiceIPCHostImpl::DoStart() { … }
TracingService* ServiceIPCHostImpl::service() const { … }
void ServiceIPCHostImpl::Shutdown() { … }
ServiceIPCHost::ServiceIPCHost() = default;
ServiceIPCHost::~ServiceIPCHost() = default;
}