MCPcopy Create free account
hub / github.com/apache/mesos / createStatusUpdate

Function createStatusUpdate

src/common/protobuf_utils.cpp:177–265  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

175
176
177StatusUpdate createStatusUpdate(
178 const FrameworkID& frameworkId,
179 const Option<SlaveID>& slaveId,
180 const TaskID& taskId,
181 const TaskState& state,
182 const TaskStatus::Source& source,
183 const Option<id::UUID>& uuid,
184 const string& message,
185 const Option<TaskStatus::Reason>& reason,
186 const Option<ExecutorID>& executorId,
187 const Option<bool>& healthy,
188 const Option<CheckStatusInfo>& checkStatus,
189 const Option<Labels>& labels,
190 const Option<ContainerStatus>& containerStatus,
191 const Option<TimeInfo>& unreachableTime,
192 const Option<Resources>& limitedResources)
193{
194 StatusUpdate update;
195
196 update.set_timestamp(process::Clock::now().secs());
197 update.mutable_framework_id()->MergeFrom(frameworkId);
198
199 if (slaveId.isSome()) {
200 update.mutable_slave_id()->MergeFrom(slaveId.get());
201 }
202
203 if (executorId.isSome()) {
204 update.mutable_executor_id()->MergeFrom(executorId.get());
205 }
206
207 // TODO(alexr): Use `createTaskStatus()` instead
208 // once `UUID` is required in this function.
209 TaskStatus* status = update.mutable_status();
210 status->mutable_task_id()->MergeFrom(taskId);
211
212 if (slaveId.isSome()) {
213 status->mutable_slave_id()->MergeFrom(slaveId.get());
214 }
215
216 status->set_state(state);
217 status->set_source(source);
218 status->set_message(message);
219 status->set_timestamp(update.timestamp());
220
221 if (uuid.isSome()) {
222 update.set_uuid(uuid->toBytes());
223 status->set_uuid(uuid->toBytes());
224 }
225
226 if (reason.isSome()) {
227 status->set_reason(reason.get());
228 }
229
230 if (healthy.isSome()) {
231 status->set_healthy(healthy.get());
232 }
233
234 if (checkStatus.isSome()) {

Callers 15

foreachMethod · 0.85
TEST_PFunction · 0.85
foreachFunction · 0.85
TEST_FFunction · 0.85
TEST_FFunction · 0.85
executorMethod · 0.85
foreachFunction · 0.85
killTaskMethod · 0.85
killPendingTaskMethod · 0.85
killMethod · 0.85
subscribeMethod · 0.85

Calls 6

MergeFromMethod · 0.80
toBytesMethod · 0.80
CopyFromMethod · 0.80
secsMethod · 0.45
isSomeMethod · 0.45
getMethod · 0.45

Tested by 5

TEST_PFunction · 0.68
foreachFunction · 0.68
TEST_FFunction · 0.68
TEST_FFunction · 0.68