|
29 | 29 | class ServerRuntime: |
30 | 30 | """class to define the server during the simulation""" |
31 | 31 |
|
32 | | - def __init__( # noqa: PLR0913 |
| 32 | + def __init__( # noqa: PLR0913 |
33 | 33 | self, |
34 | 34 | *, |
35 | 35 | env: simpy.Environment, |
36 | 36 | server_resources: ServerContainers, |
37 | 37 | server_config: Server, |
38 | | - out_edge: EdgeRuntime, |
| 38 | + out_edge: EdgeRuntime | None, |
39 | 39 | server_box: simpy.Store, |
40 | 40 | settings: SimulationSettings, |
41 | 41 | rng: np.random.Generator | None = None, |
42 | | - ) -> None: |
43 | | - """Docstring to complete""" |
| 42 | + ) -> None: |
| 43 | + """ |
| 44 | + Definition of the instance attributes |
| 45 | + Args: |
| 46 | + env (simpy.Environment): simpy environment |
| 47 | + server_resources (ServerContainers):resource defined in the |
| 48 | + input for each server |
| 49 | + server_config (Server): parameter to define the server from the input |
| 50 | + out_edge (EdgeRuntime): edge connecting the server to the next node |
| 51 | + server_box (simpy.Store): box with the states that the server |
| 52 | + should elaborate |
| 53 | + settings (SimulationSettings): general input settings for the simulation |
| 54 | + rng (np.random.Generator | None, optional): random number generator. |
| 55 | + """ |
44 | 56 | self.env = env |
45 | 57 | self.server_resources = server_resources |
46 | 58 | self.server_config = server_config |
@@ -231,6 +243,7 @@ def _handle_request( # noqa: PLR0915, PLR0912, C901 |
231 | 243 | self._ram_in_use -= total_ram |
232 | 244 | yield self.server_resources[ServerResourceName.RAM.value].put(total_ram) |
233 | 245 |
|
| 246 | + assert self.out_edge is not None |
234 | 247 | self.out_edge.transport(state) |
235 | 248 |
|
236 | 249 |
|
@@ -263,7 +276,6 @@ def _dispatcher(self) -> Generator[simpy.Event, None, None]: |
263 | 276 | The main dispatcher loop. It pulls requests from the inbox and |
264 | 277 | spawns a new '_handle_request' process for each one. |
265 | 278 | """ |
266 | | - assert self.out_edge is not None |
267 | 279 | while True: |
268 | 280 | # Wait for a request to arrive in the server's inbox |
269 | 281 | raw_state = yield self.server_box.get() |
|
0 commit comments