@@ -246,46 +246,37 @@ class Miss:
246246@_unstable
247247@final
248248class MissDetectionConfig :
249- @overload
250- def __new__ (cls ) -> Self : ...
251- @overload
252- def __new__ (cls , * , heartbeat : float | int ) -> Self :
249+ def __new__ (cls , * , heartbeat : float | int | None , sporadic_heartbeat : float | int | None ) -> Self :
253250 """
254251 :param heartbeat: period in seconds, allow last sample miss detection through periodic heartbeat;
255- periodically send the last published Sample's sequence number to allow last sample recovery
256- `AdvancedSubscriber`(crate::AdvancedSubscriber) can recover the last sample with the `heartbeat` option
257- """
252+ periodically send the last published Sample's sequence number to allow last sample recovery.
253+ `AdvancedSubscriber can only recover the last sample with the `heartbeat` option enabled.
254+ This option can not be set simultaneously with `sporadic_heartbeat`.
258255
259- @overload
260- def __new__ (cls , sporadic_heartbeat : float | int ) -> Self :
261- """
262256 :param sporadic_heartbeat: period in seconds, allow last sample miss detection through sporadic heartbeat;
263257 each period, the last published Sample's sequence number is sent with `CongestionControl.Block` but only if
264258 it has changed since the last period.
259+ `AdvancedSubscriber can only recover the last sample with the `heartbeat` option enabled.
260+ This option can not be set simultaneously with `heartbeat`.
265261 """
266262
267263@_unstable
268264@final
269265class RecoveryConfig :
270- @overload
271- def __new__ (cls ) -> Self : ...
272- @overload
273- def __new__ (cls , * , periodic_queries : float | int ) -> Self :
266+ def __new__ (cls , * , periodic_queries : float | int | None , heartbeat : Literal [True ] | None ) -> Self :
274267 """
275268 :param periodic_queries: enable periodic queries for not yet received Samples and specify their period;
276269 it allows retrieving the last Sample(s) if the last Sample(s) is/are lost,
277270 so it is useful for sporadic publications but useless for periodic publications
278- with a period smaller or equal to this period
279- retransmission can only be achieved by `AdvancedPublisher` that enable `cache` and `sample_miss_detection`
280- """
271+ with a period smaller or equal to this period.
272+ Retransmission can only be achieved by `AdvancedPublisher` that enable `cache` and `sample_miss_detection`.
273+ This option can not be set simultaneously with `heartbeat`.
281274
282- @overload
283- def __new__ (cls , * , heartbeat : Literal [True ]) -> Self :
284- """
285275 :param heartbeat: subscribe to heartbeats of `AdvancedPublisher`;
286- it allows receiving the last published Sample's sequence number and check for misses
287- heartbeat subscriber must be paired with `AdvancedPublishers` that enable `cache` and
288- `sample_miss_detection` with `heartbeat` or `sporadic_heartbeat`
276+ it allows receiving the last published Sample's sequence number and check for misses.
277+ Heartbeat subscriber must be paired with `AdvancedPublishers` that enable `cache` and
278+ `sample_miss_detection` with `heartbeat` or `sporadic_heartbeat`.
279+ This option can not be set simultaneously with `periodic_queries`.
289280 """
290281
291282@_unstable
@@ -302,7 +293,6 @@ class RepliesConfig:
302293@_unstable
303294@final
304295class SampleMissListener (Generic [_H ]):
305- @property
306296 def undeclare (self ): ...
307297 @overload
308298 def try_recv (self : SampleMissListener [Handler [Miss ]]) -> Miss | None : ...
0 commit comments