Android-cuttlefish cvd tool
Public Member Functions | Private Member Functions | Private Attributes | List of all members
cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy Class Reference
Inheritance diagram for cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy:
Inheritance graph
[legend]
Collaboration diagram for cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy:
Collaboration graph
[legend]

Public Member Functions

 INJECT (SocketVsockProxy(const AdbHelper &helper, const CuttlefishConfig &cuttlefish_config, const CuttlefishConfig::InstanceSpecific &instance, KernelLogPipeProvider &log_pipe_provider))
 
Result< std::vector< MonitorCommand > > Commands () override
 
std::string Name () const override
 
bool Enabled () const override
 
- Public Member Functions inherited from cuttlefish::CommandSource
virtual ~CommandSource ()=default
 
virtual Result< std::vector< MonitorCommand > > Commands ()=0
 
- Public Member Functions inherited from cuttlefish::SetupFeature
virtual ~SetupFeature ()
 
virtual bool Enabled () const
 
- Public Member Functions inherited from cuttlefish::Feature< SetupFeature >
virtual ~Feature ()=default
 
virtual std::string Name () const=0
 

Private Member Functions

std::unordered_set< SetupFeature * > Dependencies () const override
 
Result< void > ResultSetup () override
 

Private Attributes

const AdbHelperhelper_
 
const CuttlefishConfigcuttlefish_config_
 
const CuttlefishConfig::InstanceSpecificinstance_
 
KernelLogPipeProviderlog_pipe_provider_
 
SharedFD kernel_log_pipe_
 

Additional Inherited Members

- Static Public Member Functions inherited from cuttlefish::SetupFeature
static Result< void > RunSetup (const std::vector< SetupFeature * > &features)
 
- Static Public Member Functions inherited from cuttlefish::Feature< SetupFeature >
static Result< void > TopologicalVisit (const std::unordered_set< SetupFeature * > &features, const std::function< Result< void >(SetupFeature *)> &callback)
 

Member Function Documentation

◆ Commands()

Result< std::vector< MonitorCommand > > cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::Commands ( )
inlineoverridevirtual

This socket_vsock_proxy (a.k.a. sv proxy) runs on the host. It assumes that another sv proxy runs inside the guest. see: shared/config/init.vendor.rc The sv proxy in the guest exposes vsock:cid:6520 across the cuttlefish instances in multi-tenancy. cid is different per instance.

This host sv proxy should cooperate with the guest sv proxy. Thus, one end of the tunnel is vsock:cid:6520 regardless of instance number. Another end faces the host adb daemon via tcp. Thus, the server type is tcp here. The tcp port differs from instance to instance, and is instance.adb_host_port()

Implements cuttlefish::CommandSource.

◆ Dependencies()

std::unordered_set< SetupFeature * > cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::Dependencies ( ) const
inlineoverrideprivatevirtual

◆ Enabled()

bool cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::Enabled ( ) const
inlineoverridevirtual

Reimplemented from cuttlefish::SetupFeature.

◆ INJECT()

cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::INJECT ( SocketVsockProxy(const AdbHelper &helper, const CuttlefishConfig &cuttlefish_config, const CuttlefishConfig::InstanceSpecific &instance, KernelLogPipeProvider &log_pipe_provider)  )
inline

◆ Name()

std::string cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::Name ( ) const
inlineoverridevirtual

◆ ResultSetup()

Result< void > cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::ResultSetup ( )
inlineoverrideprivatevirtual

Member Data Documentation

◆ cuttlefish_config_

const CuttlefishConfig& cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::cuttlefish_config_
private

◆ helper_

const AdbHelper& cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::helper_
private

◆ instance_

const CuttlefishConfig::InstanceSpecific& cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::instance_
private

◆ kernel_log_pipe_

SharedFD cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::kernel_log_pipe_
private

◆ log_pipe_provider_

KernelLogPipeProvider& cuttlefish::anonymous_namespace{launch.cpp}::SocketVsockProxy::log_pipe_provider_
private

The documentation for this class was generated from the following file: