X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=ARCH.md;h=5b9304cce009f8d9b3eb1a7fcff3721fc3efb094;hb=refs%2Fheads%2F2021-07-broken-beta;hp=1d987a3531457d78e92def84c536922a2a8c7ce5;hpb=801b775a7d17eff165ea5e8a4d11a966e0ef29d0;p=rust-lightning diff --git a/ARCH.md b/ARCH.md index 1d987a35..5b9304cc 100644 --- a/ARCH.md +++ b/ARCH.md @@ -37,26 +37,26 @@ At a high level, some of the common interfaces fit together as follows: ----------------- | KeysInterface | -------------- ----------------- | UserConfig | - -------------------- | -------------- - /------| MessageSendEvent | | | ---------------- - | -------------------- | | | FeeEstimator | - | (as MessageSendEventsProvider) | | ---------------- - | ^ | | / | ------------------------ - | \ | | / ---------> | BroadcasterInterface | - | \ | | / / | ------------------------ - | \ v v v / v ^ - | (as ------------------ ---------------- - | ChannelMessageHandler)-> | ChannelManager | ----> | chain::Watch | - v / ------------------ ---------------- ---------------- / (as EventsProvider) -| PeerManager |- \ / ---------------- \ / - | ----------------- \ / - | | chain::Access | v - | ----------------- --------- - | | | Event | -(as RoutingMessageHandler) v --------- - \ -------------------- - -----------------> | NetGraphMsgHandler | - -------------------- + -------------------- ^ -------------- + ------| MessageSendEvent | | ^ ---------------- + / -------------------- | | | FeeEstimator | <----------------------- + | (as MessageSendEventsProvider) | | ---------------- \ + | ^ | | ^ ------------------------ | + | \ | | / ---------> | BroadcasterInterface | | + | \ | | / / ------------------------ | + | \ | | / / ^ | + | (as ------------------ ---------------- | | + | ChannelMessageHandler)-> | ChannelManager | ----> | chain::Watch | | | + v / ------------------ ---------------- | | +--------------- / (as EventsProvider) ^ | | +| PeerManager |- \ | | | +--------------- \ | (is-a) | | + | ----------------- \ _---------------- / / + | | chain::Access | \ / | ChainMonitor |--------------- + | ----------------- \ / ---------------- + | ^ \ / | +(as RoutingMessageHandler) | v v + \ ---------------------- --------- ----------------- + -----------------> | NetGraphMsgHandler | | Event | | chain::Filter | + ---------------------- --------- ----------------- ```