| 146 | tasksPerCompletedFramework(_tasksPerCompletedFramework) {} |
| 147 | |
| 148 | void initialize() override |
| 149 | { |
| 150 | install<SlaveReregisteredMessage>(&Self::reregistered); |
| 151 | install<PingSlaveMessage>( |
| 152 | &Self::ping, |
| 153 | &PingSlaveMessage::connected); |
| 154 | |
| 155 | // Prepare `ReregisterSlaveMessage` which simulates the real world scenario: |
| 156 | // TODO(xujyan): Notable things missing include: |
| 157 | // - `ExecutorInfo`s |
| 158 | // - Task statuses |
| 159 | SlaveInfo slaveInfo = createSlaveInfo(slaveId); |
| 160 | message.mutable_slave()->Swap(&slaveInfo); |
| 161 | message.set_version(MESOS_VERSION); |
| 162 | |
| 163 | // Used for generating framework IDs. |
| 164 | size_t id = 0; |
| 165 | for (; id < frameworksPerAgent; id++) { |
| 166 | FrameworkID frameworkId; |
| 167 | frameworkId.set_value("framework" + stringify(id)); |
| 168 | |
| 169 | FrameworkInfo framework = createFrameworkInfo(frameworkId); |
| 170 | message.add_frameworks()->Swap(&framework); |
| 171 | |
| 172 | for (size_t j = 0; j < tasksPerFramework; j++) { |
| 173 | Task task = protobuf::createTask( |
| 174 | createTaskInfo(slaveId), |
| 175 | TASK_RUNNING, |
| 176 | frameworkId); |
| 177 | message.add_tasks()->Swap(&task); |
| 178 | } |
| 179 | } |
| 180 | |
| 181 | for (; id < frameworksPerAgent + completedFrameworksPerAgent; id++) { |
| 182 | Archive::Framework* completedFramework = |
| 183 | message.add_completed_frameworks(); |
| 184 | |
| 185 | FrameworkID frameworkId; |
| 186 | frameworkId.set_value("framework" + stringify(id)); |
| 187 | |
| 188 | FrameworkInfo framework = createFrameworkInfo(frameworkId); |
| 189 | completedFramework->mutable_framework_info()->Swap(&framework); |
| 190 | |
| 191 | for (size_t j = 0; j < tasksPerCompletedFramework; j++) { |
| 192 | Task task = protobuf::createTask( |
| 193 | createTaskInfo(slaveId), |
| 194 | TASK_FINISHED, |
| 195 | frameworkId); |
| 196 | completedFramework->add_tasks()->Swap(&task); |
| 197 | } |
| 198 | } |
| 199 | } |
| 200 | |
| 201 | Future<Nothing> reregister() |
| 202 | { |
nothing calls this directly
no test coverage detected