mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-06-05 13:39:59 +00:00
* Convert DeliveryService into optionally mountable MessagingClient
* Move SubscriptionManager to core layer (WakuNode)
* Ensure libwaku kernel_api/ still works (deprecated; removal pending)
* Create node_types.nim to allow WakuNode to compose subsystems cleanly
* Create node_telemetry.nim to centralize Prometheus types
* Remove unnecessary "ptr Waku" / "addr waku" indirection
* Rename Waku.startWaku -> Waku.start for upcoming Waku rename
* Write complete proc surface for SubscriptionManager (all intents expressible)
* Rename edgeFilterHealthLoop -> edgeFilterConnectionLoop ("Health" means monitoring)
* logosdelivery_start_node calls mountMessagingClient then starts
* libwaku and wakunode2 do not mount messagingClient
* Improve edge filter peer cleanup on disconnect
* misc refactors/moves, improvements, fixes
Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
40 lines
1.4 KiB
Nim
40 lines
1.4 KiB
Nim
## Reliable Channel event types emitted to API consumers.
|
|
##
|
|
## Lifecycle events for individual segments (sent / propagated / errored)
|
|
## are the same as the network-level ones the MessagingClient already
|
|
## emits — `requestId` is shared across layers — so we just re-export
|
|
## `waku/events/message_events` and avoid declaring duplicates.
|
|
##
|
|
## Only the channel-level `MessageReceivedEvent` carries data that has
|
|
## no analogue in the lower layer (reassembled application payload,
|
|
## senderId, channelId), so it lives here.
|
|
|
|
import waku/events/message_events as waku_message_events
|
|
import brokers/event_broker
|
|
|
|
import ./types as channel_types
|
|
|
|
export waku_message_events, channel_types, event_broker
|
|
|
|
EventBroker:
|
|
type ChannelMessageReceivedEvent* = object
|
|
channelId*: ChannelId
|
|
senderId*: SdsParticipantID
|
|
payload*: seq[byte]
|
|
|
|
EventBroker:
|
|
## Emitted when every segment of a channel-level `send()` reached
|
|
## `Confirmed`. Channel-level analogue of `MessageSentEvent`; the
|
|
## `requestId` is the channel-layer parent returned by `send()`.
|
|
type ChannelMessageSentEvent* = object
|
|
channelId*: ChannelId
|
|
requestId*: RequestId
|
|
|
|
EventBroker:
|
|
## Emitted when a channel-level `send()` finalises with at least one
|
|
## segment in `Failed`. Channel-level analogue of `MessageErrorEvent`.
|
|
type ChannelMessageErrorEvent* = object
|
|
channelId*: ChannelId
|
|
requestId*: RequestId
|
|
error*: string
|