Skip to content

Commit df97db8

Browse files
committed
Break ChannelManager docs into sections
ChannelManager docs aren't very approachable as they consist of a large wall of texts without much direction. As a first step of improvement, add sections to help delineate the existing text and make it easier to scan.
1 parent 4deb263 commit df97db8

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

lightning/src/ln/channelmanager.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,6 +1074,8 @@ where
10741074
/// Implements [`ChannelMessageHandler`], handling the multi-channel parts and passing things through
10751075
/// to individual Channels.
10761076
///
1077+
/// # Persistence
1078+
///
10771079
/// Implements [`Writeable`] to write out all channel state to disk. Implies [`peer_disconnected`] for
10781080
/// all peers during write/read (though does not modify this instance, only the instance being
10791081
/// serialized). This will result in any channels which have not yet exchanged [`funding_created`] (i.e.,
@@ -1093,12 +1095,16 @@ where
10931095
/// tells you the last block hash which was connected. You should get the best block tip before using the manager.
10941096
/// See [`chain::Listen`] and [`chain::Confirm`] for more details.
10951097
///
1098+
/// # `ChannelUpdate` Messages
1099+
///
10961100
/// Note that `ChannelManager` is responsible for tracking liveness of its channels and generating
10971101
/// [`ChannelUpdate`] messages informing peers that the channel is temporarily disabled. To avoid
10981102
/// spam due to quick disconnection/reconnection, updates are not sent until the channel has been
10991103
/// offline for a full minute. In order to track this, you must call
11001104
/// [`timer_tick_occurred`] roughly once per minute, though it doesn't have to be perfect.
11011105
///
1106+
/// # DoS Mitigation
1107+
///
11021108
/// To avoid trivial DoS issues, `ChannelManager` limits the number of inbound connections and
11031109
/// inbound channels without confirmed funding transactions. This may result in nodes which we do
11041110
/// not have a channel with being unable to connect to us or open new channels with us if we have
@@ -1108,6 +1114,8 @@ where
11081114
/// exempted from the count of unfunded channels. Similarly, outbound channels and connections are
11091115
/// never limited. Please ensure you limit the count of such channels yourself.
11101116
///
1117+
/// # Type Aliases
1118+
///
11111119
/// Rather than using a plain `ChannelManager`, it is preferable to use either a [`SimpleArcChannelManager`]
11121120
/// a [`SimpleRefChannelManager`], for conciseness. See their documentation for more details, but
11131121
/// essentially you should default to using a [`SimpleRefChannelManager`], and use a

0 commit comments

Comments
 (0)