| 325 | |
| 326 | |
| 327 | Option<Error> registerSlave(const RegisterSlaveMessage& message) |
| 328 | { |
| 329 | const SlaveInfo& slaveInfo = message.slave(); |
| 330 | |
| 331 | Option<Error> error = validateSlaveInfo(slaveInfo); |
| 332 | if (error.isSome()) { |
| 333 | return error.get(); |
| 334 | } |
| 335 | |
| 336 | if (!message.checkpointed_resources().empty()) { |
| 337 | if (!slaveInfo.has_checkpoint() || !slaveInfo.checkpoint()) { |
| 338 | return Error( |
| 339 | "Checkpointed resources provided when checkpointing is not enabled"); |
| 340 | } |
| 341 | } |
| 342 | |
| 343 | foreach (const Resource& resource, message.checkpointed_resources()) { |
| 344 | error = Resources::validate(resource); |
| 345 | if (error.isSome()) { |
| 346 | return error.get(); |
| 347 | } |
| 348 | } |
| 349 | |
| 350 | return None(); |
| 351 | } |
| 352 | |
| 353 | |
| 354 | Option<Error> reregisterSlave(const ReregisterSlaveMessage& message) |
no test coverage detected