Apache Mesos
Public Member Functions | List of all members
mesos::internal::slave::MesosIsolatorProcess Class Reference

#include <isolator.hpp>

Inheritance diagram for mesos::internal::slave::MesosIsolatorProcess:
process::Process< MesosIsolatorProcess > process::ProcessBase process::EventConsumer mesos::internal::slave::AppcRuntimeIsolatorProcess mesos::internal::slave::CgroupsIsolatorProcess mesos::internal::slave::DockerRuntimeIsolatorProcess mesos::internal::slave::DockerVolumeIsolatorProcess mesos::internal::slave::EnvironmentSecretIsolatorProcess mesos::internal::slave::IOSwitchboard mesos::internal::slave::LinuxCapabilitiesIsolatorProcess mesos::internal::slave::LinuxDevicesIsolatorProcess mesos::internal::slave::LinuxFilesystemIsolatorProcess mesos::internal::slave::LinuxNNPIsolatorProcess mesos::internal::slave::LinuxSeccompIsolatorProcess mesos::internal::slave::NamespacesIPCIsolatorProcess mesos::internal::slave::NamespacesPidIsolatorProcess mesos::internal::slave::NetworkCniIsolatorProcess mesos::internal::slave::NetworkPortsIsolatorProcess mesos::internal::slave::NvidiaGpuIsolatorProcess mesos::internal::slave::PortMappingIsolatorProcess mesos::internal::slave::PosixDiskIsolatorProcess mesos::internal::slave::PosixFilesystemIsolatorProcess mesos::internal::slave::PosixIsolatorProcess mesos::internal::slave::PosixRLimitsIsolatorProcess mesos::internal::slave::SharedFilesystemIsolatorProcess mesos::internal::slave::VolumeCSIIsolatorProcess mesos::internal::slave::VolumeHostPathIsolatorProcess mesos::internal::slave::VolumeImageIsolatorProcess mesos::internal::slave::VolumeSandboxPathIsolatorProcess mesos::internal::slave::VolumeSecretIsolatorProcess mesos::internal::slave::WindowsCpuIsolatorProcess mesos::internal::slave::WindowsMemIsolatorProcess mesos::internal::slave::XfsDiskIsolatorProcess

Public Member Functions

 ~MesosIsolatorProcess () override
 
virtual bool supportsNesting ()
 
virtual bool supportsStandalone ()
 
virtual process::Future< Nothingrecover (const std::vector< mesos::slave::ContainerState > &states, const hashset< ContainerID > &orphans)
 
virtual process::Future< Option< mesos::slave::ContainerLaunchInfo > > prepare (const ContainerID &containerId, const mesos::slave::ContainerConfig &containerConfig)
 
virtual process::Future< Nothingisolate (const ContainerID &containerId, pid_t pid)
 
virtual process::Future< mesos::slave::ContainerLimitation > watch (const ContainerID &containerId)
 
virtual process::Future< Nothingupdate (const ContainerID &containerId, const Resources &resourceRequests, const google::protobuf::Map< std::string, Value::Scalar > &resourceLimits={})
 
virtual process::Future< ResourceStatistics > usage (const ContainerID &containerId)
 
virtual process::Future< ContainerStatus > status (const ContainerID &containerId)
 
virtual process::Future< Nothingcleanup (const ContainerID &containerId)
 
- Public Member Functions inherited from process::Process< MesosIsolatorProcess >
 ~Process () override
 
PID< MesosIsolatorProcess > self () const
 Returns the PID of the process. More...
 
- Public Member Functions inherited from process::ProcessBase
 ProcessBase (const std::string &id="")
 
 ~ProcessBase () override
 
const UPIDself () const
 
- Public Member Functions inherited from process::EventConsumer
virtual ~EventConsumer ()
 

Additional Inherited Members

- Protected Types inherited from process::Process< MesosIsolatorProcess >
typedef MesosIsolatorProcess Self
 
typedef MesosIsolatorProcess This
 
- Protected Types inherited from process::ProcessBase
enum  RemoteConnection { RemoteConnection::REUSE, RemoteConnection::RECONNECT }
 Describes the behavior of the link call when the target pid points to a remote process. More...
 
typedef lambda::function< void(const UPID &, const std::string &)> MessageHandler
 Any function which takes a "from" UPID and a message body as arguments. More...
 
typedef lambda::function< Future< http::Response >const http::Request &)> HttpRequestHandler
 Any function which takes a process::http::Request and returns a process::http::Response. More...
 
typedef lambda::function< Future< http::Response > const http::Request &, const Option< http::authentication::Principal > &)> AuthenticatedHttpRequestHandler
 Any function which takes a process::http::Request and an Option<Principal> and returns a process::http::Response. More...
 
- Protected Member Functions inherited from process::ProcessBase
virtual void serve (Event &&event)
 Invoked when an event is serviced. More...
 
void consume (MessageEvent &&event) override
 
void consume (DispatchEvent &&event) override
 
void consume (HttpEvent &&event) override
 
void consume (ExitedEvent &&event) override
 
void consume (TerminateEvent &&event) override
 
virtual void initialize ()
 Invoked when a process gets spawned. More...
 
virtual void finalize ()
 Invoked when a process is terminated. More...
 
virtual void exited (const UPID &)
 Invoked when a linked process has exited. More...
 
virtual void lost (const UPID &)
 Invoked when a linked process can no longer be monitored. More...
 
void send (const UPID &to, const std::string &name, const char *data=nullptr, size_t length=0)
 Sends the message to the specified UPID. More...
 
void send (const UPID &to, std::string &&name)
 
void send (const UPID &to, std::string &&name, std::string &&data)
 
UPID link (const UPID &pid, const RemoteConnection remote=RemoteConnection::REUSE)
 Links with the specified UPID. More...
 
void install (const std::string &name, const MessageHandler &handler)
 Sets up a handler for messages with the specified name. More...
 
template<typename T >
void install (const std::string &name, void(T::*method)(const UPID &, const std::string &))
 Sets up a handler for messages with the specified name. More...
 
void delegate (const std::string &name, const UPID &pid)
 Delegates incoming messages, with the specified name, to the UPID. More...
 
void route (const std::string &name, const Option< std::string > &help, const HttpRequestHandler &handler, const RouteOptions &options=RouteOptions())
 Sets up a handler for HTTP requests with the specified name. More...
 
template<typename T >
void route (const std::string &name, const Option< std::string > &help, Future< http::Response >(T::*method)(const http::Request &), const RouteOptions &options=RouteOptions())
 Sets up a handler for HTTP requests with the specified name. More...
 
void route (const std::string &name, const std::string &realm, const Option< std::string > &help, const AuthenticatedHttpRequestHandler &handler, const RouteOptions &options=RouteOptions())
 
template<typename T >
void route (const std::string &name, const Option< std::string > &realm, const Option< std::string > &help, Future< http::Response >(T::*method)(const http::Request &, const Option< http::authentication::Principal > &), const RouteOptions &options=RouteOptions())
 Forwards to the correct overload of process::ProcessBase::route(), depending on whether the authentication realm realm is present. More...
 
void provide (const std::string &name, const std::string &path, const std::map< std::string, std::string > &types=mime::types)
 Sets up the default HTTP request handler to provide the static asset(s) at the specified absolute path for the specified name. More...
 
template<typename T >
size_t eventCount ()
 Returns the number of events of the given type currently on the event queue. More...
 

Constructor & Destructor Documentation

mesos::internal::slave::MesosIsolatorProcess::~MesosIsolatorProcess ( )
inlineoverride

Member Function Documentation

virtual process::Future<Nothing> mesos::internal::slave::MesosIsolatorProcess::cleanup ( const ContainerID &  containerId)
inlinevirtual
virtual process::Future<Nothing> mesos::internal::slave::MesosIsolatorProcess::isolate ( const ContainerID &  containerId,
pid_t  pid 
)
inlinevirtual
virtual process::Future<Option<mesos::slave::ContainerLaunchInfo> > mesos::internal::slave::MesosIsolatorProcess::prepare ( const ContainerID &  containerId,
const mesos::slave::ContainerConfig &  containerConfig 
)
inlinevirtual

Reimplemented in mesos::internal::slave::PortMappingIsolatorProcess, mesos::internal::slave::NvidiaGpuIsolatorProcess, mesos::internal::slave::PosixDiskIsolatorProcess, mesos::internal::slave::IOSwitchboard, mesos::internal::slave::PosixIsolatorProcess, mesos::internal::slave::NetworkPortsIsolatorProcess, mesos::internal::slave::NetworkCniIsolatorProcess, mesos::internal::slave::DockerVolumeIsolatorProcess, mesos::internal::slave::CgroupsIsolatorProcess, mesos::internal::slave::LinuxFilesystemIsolatorProcess, mesos::internal::slave::VolumeCSIIsolatorProcess, mesos::internal::slave::XfsDiskIsolatorProcess, mesos::internal::slave::WindowsMemIsolatorProcess, mesos::internal::slave::WindowsCpuIsolatorProcess, mesos::internal::slave::VolumeSandboxPathIsolatorProcess, mesos::internal::slave::VolumeSecretIsolatorProcess, mesos::internal::slave::VolumeImageIsolatorProcess, mesos::internal::slave::PosixFilesystemIsolatorProcess, mesos::internal::slave::EnvironmentSecretIsolatorProcess, mesos::internal::slave::LinuxDevicesIsolatorProcess, mesos::internal::slave::SharedFilesystemIsolatorProcess, mesos::internal::slave::VolumeHostPathIsolatorProcess, mesos::internal::slave::AppcRuntimeIsolatorProcess, mesos::internal::slave::DockerRuntimeIsolatorProcess, mesos::internal::slave::LinuxSeccompIsolatorProcess, mesos::internal::slave::LinuxCapabilitiesIsolatorProcess, mesos::internal::slave::NamespacesIPCIsolatorProcess, mesos::internal::slave::NamespacesPidIsolatorProcess, mesos::internal::slave::PosixRLimitsIsolatorProcess, and mesos::internal::slave::LinuxNNPIsolatorProcess.

virtual process::Future<Nothing> mesos::internal::slave::MesosIsolatorProcess::recover ( const std::vector< mesos::slave::ContainerState > &  states,
const hashset< ContainerID > &  orphans 
)
inlinevirtual
virtual process::Future<ContainerStatus> mesos::internal::slave::MesosIsolatorProcess::status ( const ContainerID &  containerId)
inlinevirtual
virtual bool mesos::internal::slave::MesosIsolatorProcess::supportsNesting ( )
inlinevirtual
virtual bool mesos::internal::slave::MesosIsolatorProcess::supportsStandalone ( )
inlinevirtual
virtual process::Future<Nothing> mesos::internal::slave::MesosIsolatorProcess::update ( const ContainerID &  containerId,
const Resources resourceRequests,
const google::protobuf::Map< std::string, Value::Scalar > &  resourceLimits = {} 
)
inlinevirtual
virtual process::Future<ResourceStatistics> mesos::internal::slave::MesosIsolatorProcess::usage ( const ContainerID &  containerId)
inlinevirtual
virtual process::Future<mesos::slave::ContainerLimitation> mesos::internal::slave::MesosIsolatorProcess::watch ( const ContainerID &  containerId)
inlinevirtual

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