@@ -273,11 +273,6 @@ def defer_beats(self) -> float:
273273 """The number of beats to defer function calls."""
274274 return float (self .scheduler .deferred )
275275
276- @property
277- def defer_duration (self ) -> float :
278- """The amount of time to defer function calls."""
279- return self .defer_beats * self .clock .beat_duration
280-
281276 @property
282277 def env (self ) -> "FishBowl" :
283278 """A shorthand for the scheduler's fish bowl."""
@@ -681,11 +676,10 @@ async def _run_once(self) -> None:
681676 arriving_states : list [DeferredState ] = []
682677 while self .deferred_states :
683678 entry = self .deferred_states [0 ]
684- entry_deadline = entry .deadline - self .defer_duration
685679 if (
686- self .clock .time >= entry_deadline
680+ self .clock .time >= entry . deadline
687681 or state is not None
688- and deadline >= entry_deadline
682+ and deadline >= entry . deadline
689683 ):
690684 heapq .heappop (self .deferred_states )
691685
@@ -715,7 +709,7 @@ async def _run_once(self) -> None:
715709 # sleeping a full period.
716710 deadline = self .deferred_states [0 ].deadline
717711 # interrupted is true if we are past the deadline
718- interrupted = await self ._sleep_until (deadline - self . defer_duration )
712+ interrupted = await self ._sleep_until (deadline )
719713 return self ._jump_start_iteration ()
720714
721715 # NOTE: deadline will always be defined at this point
@@ -751,7 +745,7 @@ async def _call_func(self, func, args, kwargs):
751745
752746 if self .defer_beats :
753747 delta = self .clock .time - self ._expected_time
754- shift = self .defer_duration - delta
748+ shift = self .defer_beats * self . clock . beat_duration - delta
755749 self .time .shift += shift
756750
757751 return await maybe_coro (func , * args , ** valid_kwargs )
0 commit comments