| 473 | |
| 474 | |
| 475 | Future<Nothing> LocalResourceProviderDaemonProcess::launch( |
| 476 | const string& type, |
| 477 | const string& name) |
| 478 | { |
| 479 | CHECK_SOME(slaveId); |
| 480 | CHECK(providers[type].contains(name)); |
| 481 | |
| 482 | ProviderData& data = providers[type].at(name); |
| 483 | CHECK(data.removing.isNone()); |
| 484 | |
| 485 | // Destruct the previous resource provider (which will synchronously |
| 486 | // terminate its actor and driver) if there is one. |
| 487 | data.provider.reset(); |
| 488 | |
| 489 | return generateAuthToken(data.info) |
| 490 | .then(defer(self(), &Self::_launch, type, name, data.version, lambda::_1)); |
| 491 | } |
| 492 | |
| 493 | |
| 494 | Future<Nothing> LocalResourceProviderDaemonProcess::_launch( |