Files
status-go/pkg/backend/node
Alex Jbanca bc58856435 feat: add Pausable interface, PausableTicker, and ServiceRegistry (#7387)
* feat: add Pausable interface, PausableTicker, and ServiceRegistry

Introduce the core primitives for lifecycle-aware service control:

- common/pausable.go: Pausable interface (PausableName/Pause/Resume),
  PauseBroadcaster embed (MarkPaused/MarkResumed/IsPaused/Subscribe),
  Subscription interface for goroutine loops.
- common/pausable_ticker.go: PausableTicker — wraps time.Ticker with a
  nil-channel pause trick so loops block cheaply without extra goroutines.
- pkg/backend/node/service_registry.go: ServiceRegistry — central registry
  of Pausable services with Register/Pause/Resume/PauseAll/ResumeAll/List.

* fix: Various fixes for the pausable service, pausable ticker and service registry
2026-04-08 14:00:12 +03:00
..

Structure

A Status node is a container of services. These services are passed to geth and registered with geth as APIs and Protocols.

Status node manages all the services and the geth node.

Status node is managed by api/geth_backend.go

So:

GethBackend manages StatusNode, StatusNode manages GethNode