class ServiceIPCHost
Defined at line 68 of file ../../third_party/perfetto/include/perfetto/ext/tracing/ipc/service_ipc_host.h
Creates an instance of the service (business logic + UNIX socket transport).
Exposed to:
The code in the tracing client that will host the service e.g., traced.
Implemented in:
src/tracing/ipc/service/service_ipc_host_impl.cc
Public Methods
std::unique_ptr<ServiceIPCHost> CreateInstance (base::TaskRunner * , TracingService::InitOpts )
void ~ServiceIPCHost ()
bool Start (std::list<ListenEndpoint> producer_sockets, ListenEndpoint consumer_socket)
Start listening on the Producer
&
Consumer ports. Returns false in case of
failure (e.g., something else is listening on |socket_name|).
TracingService * service ()
bool Start (base::ScopedSocketHandle producer_socket_fd, base::ScopedSocketHandle consumer_socket_fd)
Like the above, but takes two file descriptors to already bound sockets.
This is used when building as part of the Android tree, where init opens
and binds the socket beore exec()-ing us.
Note: An internal Google project uses this (b/390202952).
bool Start (std::unique_ptr<ipc::Host> producer_host, std::unique_ptr<ipc::Host> consumer_host)
Allows callers to supply preconstructed Hosts.
bool Start (const char * producer_socket_names, const char * consumer_socket_name)
Used by tests. producer_socket_name can be a comma-separated list of N
endpoints to listen onto.
Protected Methods
void ServiceIPCHost ()