mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-03-09 02:23:10 +00:00
* Fix protocol strength metric to consider connected peers only * Remove polling loop; event-driven node connection health updates * Remove 10s WakuRelay topic health polling loop; now event-driven * Change NodeHealthStatus to ConnectionStatus * Change new nodeState (rest API /health) field to connectionStatus * Add getSyncProtocolHealthInfo and getSyncNodeHealthReport * Add ConnectionStatusChangeEvent * Add RequestHealthReport * Refactor sync/async protocol health queries in the health monitor * Add EventRelayTopicHealthChange * Add EventWakuPeer emitted by PeerManager * Add Edge support for topics health requests and events * Rename "RelayTopic" -> "Topic" * Add RequestContentTopicsHealth sync request * Add EventContentTopicHealthChange * Rename RequestTopicsHealth -> RequestShardTopicsHealth * Remove health check gating from checkApiAvailability * Add basic health smoke tests * Other misc improvements, refactors, fixes Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com> Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
16 lines
475 B
Nim
16 lines
475 B
Nim
import chronos, results, std/strutils, ../../api/types
|
|
|
|
export ConnectionStatus
|
|
|
|
proc init*(
|
|
t: typedesc[ConnectionStatus], strRep: string
|
|
): Result[ConnectionStatus, string] =
|
|
try:
|
|
let status = parseEnum[ConnectionStatus](strRep)
|
|
return ok(status)
|
|
except ValueError:
|
|
return err("Invalid ConnectionStatus string representation: " & strRep)
|
|
|
|
type ConnectionStatusChangeHandler* =
|
|
proc(status: ConnectionStatus): Future[void] {.gcsafe, raises: [Defect].}
|