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

#include <slave.hpp>

Public Types

enum  State { REGISTERING, RUNNING, TERMINATING, TERMINATED }
 

Public Member Functions

 Executor (Slave *slave, const FrameworkID &frameworkId, const ExecutorInfo &info, const ContainerID &containerId, const std::string &directory, const Option< std::string > &user, bool checkpoint, bool isGeneratedForCommandTask)
 
 ~Executor ()
 
void enqueueTaskGroup (const TaskGroupInfo &taskGroup)
 
void enqueueTask (const TaskInfo &task)
 
Option< TaskInfo > dequeueTask (const TaskID &taskId)
 
Task * addLaunchedTask (const TaskInfo &task)
 
void completeTask (const TaskID &taskId)
 
void checkpointExecutor ()
 
void checkpointTask (const TaskInfo &task)
 
void checkpointTask (const Task &task)
 
void recoverTask (const state::TaskState &state, bool recheckpointTask)
 
void addPendingTaskStatus (const TaskStatus &status)
 
void removePendingTaskStatus (const TaskStatus &status)
 
Try< NothingupdateTaskState (const TaskStatus &status)
 
bool incompleteTasks ()
 
bool everSentTask () const
 
template<typename Message >
void send (const Message &message)
 
bool isGeneratedForCommandTask () const
 
void closeHttpConnection ()
 
Option< TaskGroupInfo > getQueuedTaskGroup (const TaskID &taskId)
 
Resources allocatedResources () const
 

Public Attributes

enum mesos::internal::slave::Executor::State state
 
Slaveslave
 
const ExecutorID id
 
const ExecutorInfo info
 
const FrameworkID frameworkId
 
const ContainerID containerId
 
const std::string directory
 
const Option< std::string > user
 
const bool checkpoint
 
Option< StreamingHttpConnection< v1::executor::Event > > http
 
process::Owned< ResponseHeartbeater< executor::Event, v1::executor::Event > > heartbeater
 
Option< process::UPIDpid
 
LinkedHashMap< TaskID, TaskInfo > queuedTasks
 
std::vector< TaskGroupInfo > queuedTaskGroups
 
LinkedHashMap< TaskID, Task * > launchedTasks
 
LinkedHashMap< TaskID, Task * > terminatedTasks
 
circular_buffer< std::shared_ptr< Task > > completedTasks
 
Option< mesos::slave::ContainerTermination > pendingTermination
 
hashmap< TaskID, LinkedHashMap< id::UUID, TaskStatus > > pendingStatusUpdates
 

Member Enumeration Documentation

Enumerator
REGISTERING 
RUNNING 
TERMINATING 
TERMINATED 

Constructor & Destructor Documentation

mesos::internal::slave::Executor::Executor ( Slave slave,
const FrameworkID &  frameworkId,
const ExecutorInfo &  info,
const ContainerID &  containerId,
const std::string &  directory,
const Option< std::string > &  user,
bool  checkpoint,
bool  isGeneratedForCommandTask 
)
mesos::internal::slave::Executor::~Executor ( )

Member Function Documentation

Task* mesos::internal::slave::Executor::addLaunchedTask ( const TaskInfo &  task)
void mesos::internal::slave::Executor::addPendingTaskStatus ( const TaskStatus &  status)
Resources mesos::internal::slave::Executor::allocatedResources ( ) const
void mesos::internal::slave::Executor::checkpointExecutor ( )
void mesos::internal::slave::Executor::checkpointTask ( const TaskInfo &  task)
void mesos::internal::slave::Executor::checkpointTask ( const Task &  task)
void mesos::internal::slave::Executor::closeHttpConnection ( )
void mesos::internal::slave::Executor::completeTask ( const TaskID &  taskId)
Option<TaskInfo> mesos::internal::slave::Executor::dequeueTask ( const TaskID &  taskId)
void mesos::internal::slave::Executor::enqueueTask ( const TaskInfo &  task)
void mesos::internal::slave::Executor::enqueueTaskGroup ( const TaskGroupInfo &  taskGroup)
bool mesos::internal::slave::Executor::everSentTask ( ) const
Option<TaskGroupInfo> mesos::internal::slave::Executor::getQueuedTaskGroup ( const TaskID &  taskId)
bool mesos::internal::slave::Executor::incompleteTasks ( )
bool mesos::internal::slave::Executor::isGeneratedForCommandTask ( ) const
void mesos::internal::slave::Executor::recoverTask ( const state::TaskState state,
bool  recheckpointTask 
)
void mesos::internal::slave::Executor::removePendingTaskStatus ( const TaskStatus &  status)
template<typename Message >
void mesos::internal::slave::Executor::send ( const Message &  message)
inline
Try<Nothing> mesos::internal::slave::Executor::updateTaskState ( const TaskStatus &  status)

Member Data Documentation

const bool mesos::internal::slave::Executor::checkpoint
circular_buffer<std::shared_ptr<Task> > mesos::internal::slave::Executor::completedTasks
const ContainerID mesos::internal::slave::Executor::containerId
const std::string mesos::internal::slave::Executor::directory
const FrameworkID mesos::internal::slave::Executor::frameworkId
process::Owned<ResponseHeartbeater<executor::Event, v1::executor::Event> > mesos::internal::slave::Executor::heartbeater
Option<StreamingHttpConnection<v1::executor::Event> > mesos::internal::slave::Executor::http
const ExecutorID mesos::internal::slave::Executor::id
const ExecutorInfo mesos::internal::slave::Executor::info
LinkedHashMap<TaskID, Task*> mesos::internal::slave::Executor::launchedTasks
hashmap<TaskID, LinkedHashMap<id::UUID, TaskStatus> > mesos::internal::slave::Executor::pendingStatusUpdates
Option<mesos::slave::ContainerTermination> mesos::internal::slave::Executor::pendingTermination
Option<process::UPID> mesos::internal::slave::Executor::pid
std::vector<TaskGroupInfo> mesos::internal::slave::Executor::queuedTaskGroups
LinkedHashMap<TaskID, TaskInfo> mesos::internal::slave::Executor::queuedTasks
Slave* mesos::internal::slave::Executor::slave
enum mesos::internal::slave::Executor::State mesos::internal::slave::Executor::state
LinkedHashMap<TaskID, Task*> mesos::internal::slave::Executor::terminatedTasks
const Option<std::string> mesos::internal::slave::Executor::user

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