mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-07-28 07:23:16 +00:00
25 lines
786 B
Nim
25 lines
786 B
Nim
import chronos, results, options
|
|
import logos_delivery/waku/[waku_node, waku_core]
|
|
import publisher_base
|
|
|
|
type LegacyPublisher* = ref object of PublisherBase
|
|
|
|
proc new*(T: type LegacyPublisher, wakuNode: WakuNode): T =
|
|
if isNil(wakuNode.wakuLegacyLightpushClient):
|
|
wakuNode.mountLegacyLightPushClient()
|
|
|
|
return LegacyPublisher(wakuNode: wakuNode)
|
|
|
|
method send*(
|
|
self: LegacyPublisher,
|
|
topic: PubsubTopic,
|
|
message: WakuMessage,
|
|
servicePeer: RemotePeerInfo,
|
|
): Future[Result[void, string]] {.async.} =
|
|
# when error it must return original error desc due the text is used for distinction between error types in metrics.
|
|
discard (
|
|
await self.wakuNode.legacyLightpushPublish(some(topic), message, servicePeer)
|
|
).valueOr:
|
|
return err(error)
|
|
return ok()
|