diff options
Diffstat (limited to 'bitbake/lib/hashserv/client.py')
| -rw-r--r-- | bitbake/lib/hashserv/client.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/bitbake/lib/hashserv/client.py b/bitbake/lib/hashserv/client.py index d0b3cf3863..ae5875d1b3 100644 --- a/bitbake/lib/hashserv/client.py +++ b/bitbake/lib/hashserv/client.py | |||
| @@ -178,18 +178,16 @@ class AsyncClient(object): | |||
| 178 | await self._set_mode(self.MODE_NORMAL) | 178 | await self._set_mode(self.MODE_NORMAL) |
| 179 | return await self.send_message({"reset-stats": None}) | 179 | return await self.send_message({"reset-stats": None}) |
| 180 | 180 | ||
| 181 | async def backfill_wait(self): | ||
| 182 | await self._set_mode(self.MODE_NORMAL) | ||
| 183 | return (await self.send_message({"backfill-wait": None}))["tasks"] | ||
| 184 | |||
| 181 | 185 | ||
| 182 | class Client(object): | 186 | class Client(object): |
| 183 | def __init__(self): | 187 | def __init__(self): |
| 184 | self.client = AsyncClient() | 188 | self.client = AsyncClient() |
| 185 | self.loop = asyncio.new_event_loop() | 189 | self.loop = asyncio.new_event_loop() |
| 186 | 190 | ||
| 187 | def get_wrapper(self, downcall): | ||
| 188 | def wrapper(*args, **kwargs): | ||
| 189 | return self.loop.run_until_complete(downcall(*args, **kwargs)) | ||
| 190 | |||
| 191 | return wrapper | ||
| 192 | |||
| 193 | for call in ( | 191 | for call in ( |
| 194 | "connect_tcp", | 192 | "connect_tcp", |
| 195 | "connect_unix", | 193 | "connect_unix", |
| @@ -200,9 +198,16 @@ class Client(object): | |||
| 200 | "get_taskhash", | 198 | "get_taskhash", |
| 201 | "get_stats", | 199 | "get_stats", |
| 202 | "reset_stats", | 200 | "reset_stats", |
| 201 | "backfill_wait", | ||
| 203 | ): | 202 | ): |
| 204 | downcall = getattr(self.client, call) | 203 | downcall = getattr(self.client, call) |
| 205 | setattr(self, call, get_wrapper(self, downcall)) | 204 | setattr(self, call, self._get_downcall_wrapper(downcall)) |
| 205 | |||
| 206 | def _get_downcall_wrapper(self, downcall): | ||
| 207 | def wrapper(*args, **kwargs): | ||
| 208 | return self.loop.run_until_complete(downcall(*args, **kwargs)) | ||
| 209 | |||
| 210 | return wrapper | ||
| 206 | 211 | ||
| 207 | @property | 212 | @property |
| 208 | def max_chunk(self): | 213 | def max_chunk(self): |
