2024-12-24 11:47:38 +01:00
|
|
|
import chronos
|
|
|
|
|
|
2025-11-21 16:11:58 +01:00
|
|
|
import waku/waku_core
|
2024-12-24 11:47:38 +01:00
|
|
|
|
|
|
|
|
type TopicHealth* = enum
|
|
|
|
|
UNHEALTHY
|
|
|
|
|
MINIMALLY_HEALTHY
|
|
|
|
|
SUFFICIENTLY_HEALTHY
|
2025-11-21 16:11:58 +01:00
|
|
|
NOT_SUBSCRIBED
|
2024-12-24 11:47:38 +01:00
|
|
|
|
|
|
|
|
proc `$`*(t: TopicHealth): string =
|
|
|
|
|
result =
|
|
|
|
|
case t
|
|
|
|
|
of UNHEALTHY: "UnHealthy"
|
|
|
|
|
of MINIMALLY_HEALTHY: "MinimallyHealthy"
|
|
|
|
|
of SUFFICIENTLY_HEALTHY: "SufficientlyHealthy"
|
2025-11-21 16:11:58 +01:00
|
|
|
of NOT_SUBSCRIBED: "NotSubscribed"
|
2024-12-24 11:47:38 +01:00
|
|
|
|
|
|
|
|
type TopicHealthChangeHandler* = proc(
|
|
|
|
|
pubsubTopic: PubsubTopic, topicHealth: TopicHealth
|
|
|
|
|
): Future[void] {.gcsafe, raises: [Defect].}
|