Add warning about aut-close()-fd-races for peer_handler impls
authorMatt Corallo <git@bluematt.me>
Tue, 3 Jul 2018 00:07:37 +0000 (20:07 -0400)
committerMatt Corallo <git@bluematt.me>
Tue, 3 Jul 2018 15:26:49 +0000 (11:26 -0400)
src/ln/peer_handler.rs

index 86e2553623d2405232c97c735f548e7fb84bb04b..812bade6881bf3ffe705bc5006772498836bb37c 100644 (file)
@@ -21,7 +21,9 @@ pub struct MessageHandler {
 /// implement Hash to meet the PeerManager API.
 /// For efficiency, Clone should be relatively cheap for this type.
 /// You probably want to just extend an int and put a file descriptor in a struct and implement
-/// send_data.
+/// send_data. Note that if you are using a higher-level net library that may close() itself, be
+/// careful to ensure you don't have races whereby you might register a new connection with an fd
+/// the same as a yet-to-be-disconnect_event()-ed.
 pub trait SocketDescriptor : cmp::Eq + hash::Hash + Clone {
        /// Attempts to send some data from the given Vec starting at the given offset to the peer.
        /// Returns the amount of data which was sent, possibly 0 if the socket has since disconnected.