17 #ifndef __SLAVE_STATE_HPP__
18 #define __SLAVE_STATE_HPP__
57 struct ResourcesState;
58 struct FrameworkState;
83 Try<T> result = ::protobuf::read<T>(path);
103 read<google::protobuf::RepeatedPtrField<Resource>>(path);
109 return std::move(resources.
get());
116 const std::string& path,
117 const std::string& message)
125 typename std::enable_if<
126 std::is_convertible<T*, google::protobuf::Message*>::value,
144 const std::string& path,
145 google::protobuf::RepeatedPtrField<Resource> resources)
161 const std::string& path,
164 const google::protobuf::RepeatedPtrField<Resource>& messages = resources;
183 template <
typename T>
191 return Error(
"Failed to create directory '" + base +
"': " + mkdir.
error());
202 return Error(
"Failed to create temporary file: " + temp.
error());
211 return Error(
"Failed to write temporary file '" + temp.
get() +
212 "': " + checkpoint.
error());
221 return Error(
"Failed to rename '" + temp.
get() +
"' to '" +
222 path +
"': " + rename.
error());
240 const std::string& rootDir,
241 const SlaveID& slaveId,
242 const FrameworkID& frameworkId,
243 const ExecutorID& executorId,
244 const ContainerID& containerId,
245 const TaskID& taskId,
261 const std::string& rootDir,
262 const SlaveID& slaveId,
263 const FrameworkID& frameworkId,
264 const ExecutorID& executorId,
265 const ContainerID& containerId,
289 const std::string& rootDir,
290 const SlaveID& slaveId,
291 const FrameworkID& frameworkId,
292 const ExecutorID& executorId,
308 const std::string& rootDir,
309 const SlaveID& slaveId,
310 const FrameworkID& frameworkId,
330 const std::string& rootDir,
344 const std::string& rootDir,
345 const SlaveID& slaveId,
376 #endif // __SLAVE_STATE_HPP__
FrameworkState()
Definition: state.hpp:305
unsigned int errors
Definition: state.hpp:280
Try< Nothing > downgradeResources(google::protobuf::RepeatedPtrField< Resource > *resources)
hashmap< FrameworkID, FrameworkState > frameworks
Definition: state.hpp:350
Definition: nothing.hpp:16
Definition: errorbase.hpp:35
Try< Nothing > rm(const std::string &path)
Definition: rm.hpp:26
Option< ResourcesState > resources
Definition: state.hpp:361
Definition: state.hpp:284
Option< process::UPID > libprocessPid
Definition: state.hpp:271
Try< Resources > read< Resources >(const std::string &path)
Definition: state.hpp:100
static Try< SlaveState > recover(const std::string &rootDir, const SlaveID &slaveId, bool strict)
unsigned int errors
Definition: state.hpp:335
Option< FrameworkInfo > info
Definition: state.hpp:314
Option< Resources > target
Definition: state.hpp:334
hashmap< TaskID, TaskState > tasks
Definition: state.hpp:269
Try< std::string > mktemp(const std::string &path=path::join(os::temp(),"XXXXXX"))
Definition: mktemp.hpp:36
Option< ContainerID > id
Definition: state.hpp:268
unsigned int errors
Definition: state.hpp:252
Definition: state.hpp:339
Definition: resources.hpp:79
Try< T > read(const std::string &path)
Definition: state.hpp:81
hashset< id::UUID > acks
Definition: state.hpp:251
static Try< RunState > recover(const std::string &rootDir, const SlaveID &slaveId, const FrameworkID &frameworkId, const ExecutorID &executorId, const ContainerID &containerId, bool strict)
static Try< ExecutorState > recover(const std::string &rootDir, const SlaveID &slaveId, const FrameworkID &frameworkId, const ExecutorID &executorId, bool strict)
std::vector< StatusUpdate > updates
Definition: state.hpp:250
std::string join(const std::string &path1, const std::string &path2, const char _separator=os::PATH_SEPARATOR)
Definition: path.hpp:56
Option< ContainerID > latest
Definition: state.hpp:297
Definition: state.hpp:325
Option< bool > http
Definition: state.hpp:275
void upgradeResources(google::protobuf::RepeatedPtrField< Resource > *resources)
Definition: hashmap.hpp:38
ExecutorID id
Definition: state.hpp:295
Resources resources
Definition: state.hpp:333
Represents a POSIX or Windows file system path and offers common path manipulations.
Definition: path.hpp:145
Definition: state.hpp:235
Try< Nothing > mkdir(const std::string &directory, bool recursive=true)
Definition: mkdir.hpp:31
RunState()
Definition: state.hpp:258
Definition: state.hpp:256
hashmap< ContainerID, RunState > runs
Definition: state.hpp:298
ExecutorState()
Definition: state.hpp:286
Option< pid_t > forkedPid
Definition: state.hpp:270
Option< ExecutorInfo > info
Definition: state.hpp:296
unsigned int errors
Definition: state.hpp:368
State()
Definition: state.hpp:359
static Try error(const E &e)
Definition: try.hpp:42
Try< State > recover(const std::string &rootDir, bool strict)
unsigned int errors
Definition: state.hpp:321
Option< Task > info
Definition: state.hpp:249
std::string dirname() const
Extracts the component up to, but not including, the final '/'.
Definition: path.hpp:238
FrameworkID id
Definition: state.hpp:313
Result< std::string > read(int_fd fd, size_t size)
Definition: read.hpp:50
Try< Nothing > checkpoint(const std::string &path, const std::string &message)
Definition: state.hpp:115
Try< Nothing > rename(const std::string &from, const std::string &to)
Definition: rename.hpp:27
bool isError() const
Definition: try.hpp:71
ResourcesState()
Definition: state.hpp:327
TaskState()
Definition: state.hpp:237
static Try< FrameworkState > recover(const std::string &rootDir, const SlaveID &slaveId, const FrameworkID &frameworkId, bool strict)
SlaveID id
Definition: state.hpp:348
Protocol< WriteRequest, WriteResponse > write
unsigned int errors
Definition: state.hpp:351
Try< uint32_t > type(const std::string &path)
std::string temp()
Definition: temp.hpp:27
Try< Nothing > checkpoint(const std::string &path, const T &t)
Definition: state.hpp:184
Option< SlaveState > slave
Definition: state.hpp:362
unsigned int errors
Definition: state.hpp:299
bool rebooted
Definition: state.hpp:363
SlaveState()
Definition: state.hpp:341
bool completed
Definition: state.hpp:278
static Try< TaskState > recover(const std::string &rootDir, const SlaveID &slaveId, const FrameworkID &frameworkId, const ExecutorID &executorId, const ContainerID &containerId, const TaskID &taskId, bool strict)
const T & get() const
Definition: try.hpp:73
Option< process::UPID > pid
Definition: state.hpp:318
Option< SlaveInfo > info
Definition: state.hpp:349
TaskID id
Definition: state.hpp:248
hashmap< ExecutorID, ExecutorState > executors
Definition: state.hpp:320
static Try< ResourcesState > recover(const std::string &rootDir, bool strict)
Definition: state.hpp:357
Definition: state.hpp:303