Port Clock functions to use Duration class (#19229)
This changes the arguments in clock functions to be `Duration` and converts call sites and constants into `Duration`. There are still some more functions around that should be converted (e.g. `timeout_deferred`), but we leave that to another PR. We also changes `.as_secs()` to return a float, as the rounding broke things subtly. The only reason to keep it (its the same as `timedelta.total_seconds()`) is for symmetry with `as_millis()`. Follows on from https://github.com/element-hq/synapse/pull/19223
This commit is contained in:
@@ -37,6 +37,7 @@ from synapse.logging import RemoteHandler
|
||||
from synapse.synapse_rust import reset_logging_config
|
||||
from synapse.types import ISynapseReactor
|
||||
from synapse.util.clock import Clock
|
||||
from synapse.util.duration import Duration
|
||||
|
||||
|
||||
class LineCounter(LineOnlyReceiver):
|
||||
@@ -141,7 +142,7 @@ async def main(reactor: ISynapseReactor, loops: int) -> float:
|
||||
|
||||
if len(handler._buffer) == handler.maximum_buffer:
|
||||
while len(handler._buffer) > handler.maximum_buffer / 2:
|
||||
await clock.sleep(0.01)
|
||||
await clock.sleep(Duration(milliseconds=10))
|
||||
|
||||
await logger_factory.on_done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user