mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-07-29 16:03:24 +00:00
* change all usage of std.options.Option[T] to results.Opt[T] * fix broken apps and examples (to validate refactor) * removed all std/options code added for libp2p v2 migration * add broker Opt codec to persistency/backend_comm.nim * add a readValue overload for Opt[T] in tools/confutils/cli_args.nim * keep Option where required (Presto, confutils' config_file.nim) * Change generateRlnProof error handling * Fix imports
39 lines
1.1 KiB
Nim
39 lines
1.1 KiB
Nim
{.push raises: [].}
|
|
|
|
import results
|
|
|
|
import logos_delivery/api/conf/messaging_conf
|
|
import logos_delivery/api/conf/channels_conf
|
|
|
|
export messaging_conf, channels_conf
|
|
|
|
type LogosDeliveryConf* = object
|
|
## Aggregates the per-layer config objects. A layer is mounted iff its config
|
|
## is present.
|
|
kernelConf*: KernelConf
|
|
messagingConf*: Opt[MessagingClientConf]
|
|
channelsConf*: Opt[ReliableChannelManagerConf]
|
|
|
|
proc init*(T: type LogosDeliveryConf, kernelConf: KernelConf): LogosDeliveryConf =
|
|
return LogosDeliveryConf(kernelConf: kernelConf)
|
|
|
|
proc init*(
|
|
T: type LogosDeliveryConf,
|
|
mode: LogosDeliveryMode,
|
|
preset: string,
|
|
messagingOverrides: MessagingClientConf,
|
|
channelsOverrides: ReliableChannelManagerConf,
|
|
): ConfResult[LogosDeliveryConf] =
|
|
let merged = merge(?resolvePreset(preset), messagingOverrides)
|
|
var kernelConf = ?toWakuNodeConf(merged, mode)
|
|
kernelConf.preset = preset
|
|
return ok(
|
|
LogosDeliveryConf(
|
|
kernelConf: KernelConf(kernelConf),
|
|
messagingConf: Opt.some(merged),
|
|
channelsConf: Opt.some(channelsOverrides),
|
|
)
|
|
)
|
|
|
|
{.pop.}
|