mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-07-04 18:00:03 +00:00
The high-level, idiomatic MessagingClient mirroring the Nim MessagingClient, on top of the internal/ffi/liblogosdelivery bridge (single library). - MessagingClient: New/Start/Stop/Close, Subscribe/Unsubscribe, Send -> RequestID. - Unified Events() <-chan Event with a sealed Event interface (MessageReceived/Sent/Propagated/Error, ConnectionStatus). Events are dropped (never block) if a consumer falls behind. - Event decoding handles liblogosdelivery's std/json wire format: received payload/meta arrive as JSON byte-int arrays (not base64), with base64 + null fallbacks; connectionStatus as an enum-name string. Unit-tested. - Config aliases the kernel WakuNodeConf. - examples/messaging: runnable demo. Part of #106. Stacked on the single-library migration. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
18 lines
475 B
Go
18 lines
475 B
Go
package messaging
|
|
|
|
// ContentTopic is an application-level message category, e.g.
|
|
// "/my-app/1/chat/proto".
|
|
type ContentTopic = string
|
|
|
|
// RequestID correlates a Send call with its later MessageSentEvent /
|
|
// MessagePropagatedEvent / MessageErrorEvent.
|
|
type RequestID string
|
|
|
|
// Envelope is an outgoing Messaging API message.
|
|
type Envelope struct {
|
|
ContentTopic ContentTopic
|
|
Payload []byte
|
|
// Ephemeral marks the message as transient (not stored).
|
|
Ephemeral bool
|
|
}
|