Apache Mesos
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mesos::internal::slave::SubsystemProcess Class Referenceabstract

#include <subsystem.hpp>

Inheritance diagram for mesos::internal::slave::SubsystemProcess:
process::Process< SubsystemProcess > process::ProcessBase process::EventConsumer mesos::internal::slave::BlkioSubsystemProcess mesos::internal::slave::CpuacctSubsystemProcess mesos::internal::slave::CpusetSubsystemProcess mesos::internal::slave::CpuSubsystemProcess mesos::internal::slave::DevicesSubsystemProcess mesos::internal::slave::HugetlbSubsystemProcess mesos::internal::slave::MemorySubsystemProcess mesos::internal::slave::NetClsSubsystemProcess mesos::internal::slave::NetPrioSubsystemProcess mesos::internal::slave::PerfEventSubsystemProcess mesos::internal::slave::PidsSubsystemProcess

Public Member Functions

 ~SubsystemProcess () override
 
virtual std::string name () const =0
 
virtual process::Future< Nothingrecover (const ContainerID &containerId, const std::string &cgroup)
 
virtual process::Future< Nothingprepare (const ContainerID &containerId, const std::string &cgroup, const mesos::slave::ContainerConfig &containerConfig)
 
virtual process::Future< Nothingisolate (const ContainerID &containerId, const std::string &cgroup, pid_t pid)
 
virtual process::Future< mesos::slave::ContainerLimitation > watch (const ContainerID &containerId, const std::string &cgroup)
 
virtual process::Future< Nothingupdate (const ContainerID &containerId, const std::string &cgroup, const Resources &resourceRequests, const google::protobuf::Map< std::string, Value::Scalar > &resourceLimits={})
 
virtual process::Future< ResourceStatistics > usage (const ContainerID &containerId, const std::string &cgroup)
 
virtual process::Future< ContainerStatus > status (const ContainerID &containerId, const std::string &cgroup)
 
virtual process::Future< Nothingcleanup (const ContainerID &containerId, const std::string &cgroup)
 
- Public Member Functions inherited from process::Process< SubsystemProcess >
 ~Process () override
 
PID< SubsystemProcess > 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 ()
 

Protected Member Functions

 SubsystemProcess (const Flags &_flags, const std::string &_hierarchy)
 
- 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...
 

Protected Attributes

const Flags flags
 Flags used to launch the agent. More...
 
const std::string hierarchy
 The hierarchy path of cgroups subsystem. More...
 

Additional Inherited Members

- Protected Types inherited from process::Process< SubsystemProcess >
typedef SubsystemProcess Self
 
typedef SubsystemProcess 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...
 

Constructor & Destructor Documentation

mesos::internal::slave::SubsystemProcess::~SubsystemProcess ( )
inlineoverride
mesos::internal::slave::SubsystemProcess::SubsystemProcess ( const Flags _flags,
const std::string &  _hierarchy 
)
protected

Member Function Documentation

virtual process::Future<Nothing> mesos::internal::slave::SubsystemProcess::cleanup ( const ContainerID &  containerId,
const std::string &  cgroup 
)
virtual
virtual process::Future<Nothing> mesos::internal::slave::SubsystemProcess::isolate ( const ContainerID &  containerId,
const std::string &  cgroup,
pid_t  pid 
)
virtual
virtual std::string mesos::internal::slave::SubsystemProcess::name ( ) const
pure virtual
virtual process::Future<Nothing> mesos::internal::slave::SubsystemProcess::prepare ( const ContainerID &  containerId,
const std::string &  cgroup,
const mesos::slave::ContainerConfig &  containerConfig 
)
virtual
virtual process::Future<Nothing> mesos::internal::slave::SubsystemProcess::recover ( const ContainerID &  containerId,
const std::string &  cgroup 
)
virtual
virtual process::Future<ContainerStatus> mesos::internal::slave::SubsystemProcess::status ( const ContainerID &  containerId,
const std::string &  cgroup 
)
virtual
virtual process::Future<Nothing> mesos::internal::slave::SubsystemProcess::update ( const ContainerID &  containerId,
const std::string &  cgroup,
const Resources resourceRequests,
const google::protobuf::Map< std::string, Value::Scalar > &  resourceLimits = {} 
)
virtual
virtual process::Future<ResourceStatistics> mesos::internal::slave::SubsystemProcess::usage ( const ContainerID &  containerId,
const std::string &  cgroup 
)
virtual
virtual process::Future<mesos::slave::ContainerLimitation> mesos::internal::slave::SubsystemProcess::watch ( const ContainerID &  containerId,
const std::string &  cgroup 
)
virtual

Member Data Documentation

const Flags mesos::internal::slave::SubsystemProcess::flags
protected

Flags used to launch the agent.

const std::string mesos::internal::slave::SubsystemProcess::hierarchy
protected

The hierarchy path of cgroups subsystem.


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