@@ -126,27 +126,24 @@ impl redux::EnablingCondition<P2pState> for P2pChannelsSignalingDiscoveryAction
126126 } )
127127 }
128128 P2pChannelsSignalingDiscoveryAction :: RequestSend { peer_id } => {
129- !state. already_has_max_peers ( )
130- && state. get_ready_peer ( peer_id) . map_or ( false , |p| {
131- match & p. channels . signaling . discovery {
132- P2pChannelsSignalingDiscoveryState :: Ready { local, .. } => {
133- match local {
134- SignalingDiscoveryState :: WaitingForRequest { .. } => true ,
135- SignalingDiscoveryState :: DiscoveredRejected {
136- time, ..
137- }
138- | SignalingDiscoveryState :: Answered { time, .. } => {
139- // Allow one discovery request per minute.
140- // TODO(binier): make configurable
141- now. checked_sub ( * time)
142- . map_or ( false , |dur| dur. as_secs ( ) >= 60 )
143- }
144- _ => false ,
129+ state. get_ready_peer ( peer_id) . map_or ( false , |p| {
130+ match & p. channels . signaling . discovery {
131+ P2pChannelsSignalingDiscoveryState :: Ready { local, .. } => {
132+ match local {
133+ SignalingDiscoveryState :: WaitingForRequest { .. } => true ,
134+ SignalingDiscoveryState :: DiscoveredRejected { time, .. }
135+ | SignalingDiscoveryState :: Answered { time, .. } => {
136+ // Allow one discovery request per minute.
137+ // TODO(binier): make configurable
138+ now. checked_sub ( * time)
139+ . map_or ( false , |dur| dur. as_secs ( ) >= 60 )
145140 }
141+ _ => false ,
146142 }
147- _ => false ,
148143 }
149- } )
144+ _ => false ,
145+ }
146+ } )
150147 }
151148 P2pChannelsSignalingDiscoveryAction :: DiscoveryRequestReceived { peer_id, .. } => state
152149 . get_ready_peer ( peer_id)
@@ -218,14 +215,17 @@ impl redux::EnablingCondition<P2pState> for P2pChannelsSignalingDiscoveryAction
218215 } ) ,
219216 // TODO(binier): constrain interval between these requests
220217 // to handle malicious peers.
221- P2pChannelsSignalingDiscoveryAction :: DiscoveryRequestSend { peer_id, .. } => state
222- . get_ready_peer ( peer_id)
223- . map_or ( false , |p| match & p. channels . signaling . discovery {
224- P2pChannelsSignalingDiscoveryState :: Ready { remote, .. } => {
225- matches ! ( remote, SignalingDiscoveryState :: Requested { .. } )
226- }
227- _ => false ,
228- } ) ,
218+ P2pChannelsSignalingDiscoveryAction :: DiscoveryRequestSend { peer_id, .. } => {
219+ !state. already_has_min_peers ( )
220+ && state. get_ready_peer ( peer_id) . map_or ( false , |p| {
221+ match & p. channels . signaling . discovery {
222+ P2pChannelsSignalingDiscoveryState :: Ready { remote, .. } => {
223+ matches ! ( remote, SignalingDiscoveryState :: Requested { .. } )
224+ }
225+ _ => false ,
226+ }
227+ } )
228+ }
229229 P2pChannelsSignalingDiscoveryAction :: DiscoveredReceived { peer_id, .. } => state
230230 . get_ready_peer ( peer_id)
231231 . map_or ( false , |p| match & p. channels . signaling . discovery {
0 commit comments