| 1273 | transport.close() |
| 1274 | |
| 1275 | def __enter__(self: T) -> T: |
| 1276 | if self._state != ClientState.UNOPENED: |
| 1277 | msg = { |
| 1278 | ClientState.OPENED: "Cannot open a client instance more than once.", |
| 1279 | ClientState.CLOSED: ( |
| 1280 | "Cannot reopen a client instance, once it has been closed." |
| 1281 | ), |
| 1282 | }[self._state] |
| 1283 | raise RuntimeError(msg) |
| 1284 | |
| 1285 | self._state = ClientState.OPENED |
| 1286 | |
| 1287 | self._transport.__enter__() |
| 1288 | for transport in self._mounts.values(): |
| 1289 | if transport is not None: |
| 1290 | transport.__enter__() |
| 1291 | return self |
| 1292 | |
| 1293 | def __exit__( |
| 1294 | self, |