mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-07-18 10:39:44 +00:00
* remove --mode from the CLI * move WakuMode to the messaging layer * expose store backend (db url, max connections) and a remote store node on the messaging surface * wakunode2 with no flags now runs as a full service node (store still opt-in) * add rateLimitMessagesPerEpoch * channel rate-limiting auto-enables if epochPeriodSec or messagesPerEpoch is set * fix JSON conf parser to be generic (works over all config types) * messaging config = mode + preset + messagingOverrides + channelsOverrides * add full messaging plus selective kernel config options to MessagingClientConf * mode (Core/Edge) expands to kernel protocol flags in the messaging layer * create_node parses the messaging config, drops the flat WakuNodeConf JSON entrypoint * wire channelsOverrides (segmentation/SDS/rate-limit) into channel creation * fix liblogosdelivery.h comments and README for the new config shape * messaging conf tests: switch names, reject-unknown, set-twice, field->kernel * add kernel log-level, log-format, nodekey to the messaging surface * Port 0 (ephemeral) default for messaging entry points * KernelConf alias for WakuNodeConf * rewrite the FFI examples to the new config shape * C/C++ examples use preset status.prod * drop operator-only confs from the examples * remove duplicate tests & misc test fixes * Delete p2pReliability from Kernel (Waku) resolver and config (keep preset definition) * Delete NodeConfig API (deprecation completed by p2pReliability removal from kernel) * Rename test_messaging_conf.nim to test_conf.nim (tests Logos Delivery config in general) * Rename messaging_conf_json.nim to logos_delivery_conf_json.nim * Add logos_delivery_conf.nim (defines LogosDeliveryConf aggregate) * misc docs/comments cleanups
32 lines
865 B
Nim
32 lines
865 B
Nim
{.push raises: [].}
|
|
|
|
import results
|
|
|
|
import logos_delivery/api/messaging_conf
|
|
import logos_delivery/channels/reliable_channel_manager
|
|
|
|
export messaging_conf, reliable_channel_manager
|
|
|
|
type LogosDeliveryConf* = object ## Aggregates the per-layer config objects.
|
|
kernelConf*: KernelConf
|
|
messagingConf*: MessagingClientConf
|
|
channelsConf*: ReliableChannelManagerConf
|
|
|
|
proc init*(
|
|
T: type LogosDeliveryConf,
|
|
mode: WakuMode,
|
|
preset: string,
|
|
messagingOverrides: MessagingClientConf,
|
|
channelsOverrides: ReliableChannelManagerConf,
|
|
): ConfResult[LogosDeliveryConf] =
|
|
let merged = merge(?resolvePreset(preset), messagingOverrides)
|
|
var kernelConf = ?toKernelConf(merged, mode)
|
|
kernelConf.preset = preset
|
|
return ok(
|
|
LogosDeliveryConf(
|
|
kernelConf: kernelConf, messagingConf: merged, channelsConf: channelsOverrides
|
|
)
|
|
)
|
|
|
|
{.pop.}
|