summaryrefslogtreecommitdiff
path: root/kvmd/plugins/msd/otg
diff options
context:
space:
mode:
authorMaxim Devaev <[email protected]>2022-07-24 15:42:43 +0300
committerMaxim Devaev <[email protected]>2022-07-24 15:42:43 +0300
commit1564c6872739b64754ca548e5f58248465c31810 (patch)
tree2da351590d209c35f33b71aa71e775f4867264a2 /kvmd/plugins/msd/otg
parent800da7167085250c5989a14bf10e5c70cae35674 (diff)
refactoring
Diffstat (limited to 'kvmd/plugins/msd/otg')
-rw-r--r--kvmd/plugins/msd/otg/__init__.py16
1 files changed, 7 insertions, 9 deletions
diff --git a/kvmd/plugins/msd/otg/__init__.py b/kvmd/plugins/msd/otg/__init__.py
index e26aac44..a98924ac 100644
--- a/kvmd/plugins/msd/otg/__init__.py
+++ b/kvmd/plugins/msd/otg/__init__.py
@@ -167,7 +167,6 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
self.__reader: Optional[MsdImageReader] = None
self.__writer: Optional[MsdImageWriter] = None
- self.__writer_tick = 0.0
self.__notifier = aiotools.AioNotifier()
self.__state = _State(self.__notifier)
@@ -377,7 +376,12 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
await self.__remount_rw(True)
self.__set_image_complete(name, False)
- self.__writer = await MsdImageWriter(path, size, self.__sync_chunk_size).open()
+ self.__writer = await MsdImageWriter(
+ notifier=self.__notifier,
+ path=path,
+ size=size,
+ sync=self.__sync_chunk_size,
+ ).open()
await self.__notifier.notify()
yield self.__write_chunk_size
@@ -394,13 +398,7 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
async def write_image_chunk(self, chunk: bytes) -> int:
assert self.__writer
- written = await self.__writer.write(chunk)
- now = time.monotonic()
- if self.__writer_tick + 1 < now:
- # Это нужно для ручного оповещения о свободном пространстве на диске, см. get_state()
- self.__writer_tick = now
- await self.__notifier.notify()
- return written
+ return (await self.__writer.write(chunk))
@aiotools.atomic
async def remove(self, name: str) -> None: