Apache Mesos
Classes | Public Member Functions | Public Attributes | List of all members
mesos::internal::master::Slave Struct Reference

#include <master.hpp>

Classes

struct  ResourceProvider
 

Public Member Functions

 Slave (Master *const _master, SlaveInfo _info, const process::UPID &_pid, const MachineID &_machineId, const std::string &_version, std::vector< SlaveInfo::Capability > _capabilites, const process::Time &_registeredTime, std::vector< Resource > _checkpointedResources, const Option< UUID > &_resourceVersion, std::vector< ExecutorInfo > executorInfos=std::vector< ExecutorInfo >(), std::vector< Task > tasks=std::vector< Task >())
 
 ~Slave ()
 
Task * getTask (const FrameworkID &frameworkId, const TaskID &taskId) const
 
void addTask (Task *task)
 
void recoverResources (Task *task)
 
void removeTask (Task *task)
 
void addOperation (Operation *operation)
 
void recoverResources (Operation *operation)
 
void removeOperation (Operation *operation)
 
void markOperationAsOrphan (Operation *operation)
 
Operation * getOperation (const UUID &uuid) const
 
void addOffer (Offer *offer)
 
void removeOffer (Offer *offer)
 
void addInverseOffer (InverseOffer *inverseOffer)
 
void removeInverseOffer (InverseOffer *inverseOffer)
 
bool hasExecutor (const FrameworkID &frameworkId, const ExecutorID &executorId) const
 
void addExecutor (const FrameworkID &frameworkId, const ExecutorInfo &executorInfo)
 
void removeExecutor (const FrameworkID &frameworkId, const ExecutorID &executorId)
 
void apply (const std::vector< ResourceConversion > &conversions)
 
Try< Nothingupdate (const SlaveInfo &info, const std::string &_version, const std::vector< SlaveInfo::Capability > &_capabilites, const Resources &_checkpointedResources, const Option< UUID > &resourceVersion)
 

Public Attributes

Master *const master
 
const SlaveID id
 
SlaveInfo info
 
const MachineID machineId
 
process::UPID pid
 
std::string version
 
protobuf::slave::Capabilities capabilities
 
process::Time registeredTime
 
Option< process::TimereregisteredTime
 
bool connected
 
bool active
 
Option< process::TimerreregistrationTimer
 
hashmap< FrameworkID, hashmap< ExecutorID, ExecutorInfo > > executors
 
hashmap< FrameworkID, hashmap< TaskID, Task * > > tasks
 
multihashmap< FrameworkID, TaskID > killedTasks
 
hashmap< UUID, Operation * > operations
 
hashset< UUID > orphanedOperations
 
hashset< Offer * > offers
 
hashset< InverseOffer * > inverseOffers
 
hashmap< FrameworkID, ResourcesusedResources
 
Resources offeredResources
 
Resources checkpointedResources
 
Resources totalResources
 
Option< UUID > resourceVersion
 
SlaveObserver * observer
 
Option< process::TimeestimatedDrainStartTime
 
hashmap< ResourceProviderID, ResourceProviderresourceProviders
 

Constructor & Destructor Documentation

mesos::internal::master::Slave::Slave ( Master *const  _master,
SlaveInfo  _info,
const process::UPID _pid,
const MachineID &  _machineId,
const std::string &  _version,
std::vector< SlaveInfo::Capability >  _capabilites,
const process::Time _registeredTime,
std::vector< Resource >  _checkpointedResources,
const Option< UUID > &  _resourceVersion,
std::vector< ExecutorInfo >  executorInfos = std::vector< ExecutorInfo >(),
std::vector< Task >  tasks = std::vector< Task >() 
)
mesos::internal::master::Slave::~Slave ( )

Member Function Documentation

void mesos::internal::master::Slave::addExecutor ( const FrameworkID &  frameworkId,
const ExecutorInfo &  executorInfo 
)
void mesos::internal::master::Slave::addInverseOffer ( InverseOffer *  inverseOffer)
void mesos::internal::master::Slave::addOffer ( Offer *  offer)
void mesos::internal::master::Slave::addOperation ( Operation *  operation)
void mesos::internal::master::Slave::addTask ( Task *  task)
void mesos::internal::master::Slave::apply ( const std::vector< ResourceConversion > &  conversions)
Operation* mesos::internal::master::Slave::getOperation ( const UUID &  uuid) const
Task* mesos::internal::master::Slave::getTask ( const FrameworkID &  frameworkId,
const TaskID &  taskId 
) const
bool mesos::internal::master::Slave::hasExecutor ( const FrameworkID &  frameworkId,
const ExecutorID &  executorId 
) const
void mesos::internal::master::Slave::markOperationAsOrphan ( Operation *  operation)
void mesos::internal::master::Slave::recoverResources ( Task *  task)
void mesos::internal::master::Slave::recoverResources ( Operation *  operation)
void mesos::internal::master::Slave::removeExecutor ( const FrameworkID &  frameworkId,
const ExecutorID &  executorId 
)
void mesos::internal::master::Slave::removeInverseOffer ( InverseOffer *  inverseOffer)
void mesos::internal::master::Slave::removeOffer ( Offer *  offer)
void mesos::internal::master::Slave::removeOperation ( Operation *  operation)
void mesos::internal::master::Slave::removeTask ( Task *  task)
Try<Nothing> mesos::internal::master::Slave::update ( const SlaveInfo &  info,
const std::string &  _version,
const std::vector< SlaveInfo::Capability > &  _capabilites,
const Resources _checkpointedResources,
const Option< UUID > &  resourceVersion 
)

Member Data Documentation

bool mesos::internal::master::Slave::active
protobuf::slave::Capabilities mesos::internal::master::Slave::capabilities
Resources mesos::internal::master::Slave::checkpointedResources
bool mesos::internal::master::Slave::connected
Option<process::Time> mesos::internal::master::Slave::estimatedDrainStartTime
hashmap<FrameworkID, hashmap<ExecutorID, ExecutorInfo> > mesos::internal::master::Slave::executors
const SlaveID mesos::internal::master::Slave::id
SlaveInfo mesos::internal::master::Slave::info
hashset<InverseOffer*> mesos::internal::master::Slave::inverseOffers
multihashmap<FrameworkID, TaskID> mesos::internal::master::Slave::killedTasks
const MachineID mesos::internal::master::Slave::machineId
Master* const mesos::internal::master::Slave::master
SlaveObserver* mesos::internal::master::Slave::observer
Resources mesos::internal::master::Slave::offeredResources
hashset<Offer*> mesos::internal::master::Slave::offers
hashmap<UUID, Operation*> mesos::internal::master::Slave::operations
hashset<UUID> mesos::internal::master::Slave::orphanedOperations
process::UPID mesos::internal::master::Slave::pid
process::Time mesos::internal::master::Slave::registeredTime
Option<process::Time> mesos::internal::master::Slave::reregisteredTime
Option<process::Timer> mesos::internal::master::Slave::reregistrationTimer
hashmap<ResourceProviderID, ResourceProvider> mesos::internal::master::Slave::resourceProviders
Option<UUID> mesos::internal::master::Slave::resourceVersion
hashmap<FrameworkID, hashmap<TaskID, Task*> > mesos::internal::master::Slave::tasks
Resources mesos::internal::master::Slave::totalResources
hashmap<FrameworkID, Resources> mesos::internal::master::Slave::usedResources
std::string mesos::internal::master::Slave::version

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