@@ -311,7 +311,7 @@ def blocksonly_mode_tests(self):
311
311
312
312
self .nodes [0 ].disconnect_p2ps ()
313
313
314
- def send_addrs_and_test_rate_limiting (self , peer , no_relay , new_addrs , total_addrs ):
314
+ def send_addrs_and_test_rate_limiting (self , peer , no_relay , * , new_addrs , total_addrs ):
315
315
"""Send an addr message and check that the number of addresses processed and rate-limited is as expected"""
316
316
317
317
peer .send_and_ping (self .setup_rand_addr_msg (new_addrs ))
@@ -329,45 +329,45 @@ def send_addrs_and_test_rate_limiting(self, peer, no_relay, new_addrs, total_add
329
329
assert_equal (addrs_rate_limited , max (0 , total_addrs - peer .tokens ))
330
330
331
331
def rate_limit_tests (self ):
332
-
333
332
self .mocktime = int (time .time ())
334
333
self .restart_node (0 , [])
335
334
self .nodes [0 ].setmocktime (self .mocktime )
336
335
337
- for contype , no_relay in [("outbound-full-relay" , False ), ("block-relay-only" , True ), ("inbound" , False )]:
338
- self .log .info (f'Test rate limiting of addr processing for { contype } peers' )
339
- if contype == "inbound" :
336
+ for conn_type , no_relay in [("outbound-full-relay" , False ), ("block-relay-only" , True ), ("inbound" , False )]:
337
+ self .log .info (f'Test rate limiting of addr processing for { conn_type } peers' )
338
+ if conn_type == "inbound" :
340
339
peer = self .nodes [0 ].add_p2p_connection (AddrReceiver ())
341
340
else :
342
- peer = self .nodes [0 ].add_outbound_p2p_connection (AddrReceiver (), p2p_idx = 0 , connection_type = contype )
341
+ peer = self .nodes [0 ].add_outbound_p2p_connection (AddrReceiver (), p2p_idx = 0 , connection_type = conn_type )
343
342
344
343
# Send 600 addresses. For all but the block-relay-only peer this should result in addresses being processed.
345
- self .send_addrs_and_test_rate_limiting (peer , no_relay , 600 , 600 )
344
+ self .send_addrs_and_test_rate_limiting (peer , no_relay , new_addrs = 600 , total_addrs = 600 )
346
345
347
346
# Send 600 more addresses. For the outbound-full-relay peer (which we send a GETADDR, and thus will
348
347
# process up to 1001 incoming addresses), this means more addresses will be processed.
349
- self .send_addrs_and_test_rate_limiting (peer , no_relay , 600 , 1200 )
348
+ self .send_addrs_and_test_rate_limiting (peer , no_relay , new_addrs = 600 , total_addrs = 1200 )
350
349
351
350
# Send 10 more. As we reached the processing limit for all nodes, no more addresses should be procesesd.
352
- self .send_addrs_and_test_rate_limiting (peer , no_relay , 10 , 1210 )
351
+ self .send_addrs_and_test_rate_limiting (peer , no_relay , new_addrs = 10 , total_addrs = 1210 )
353
352
354
353
# Advance the time by 100 seconds, permitting the processing of 10 more addresses.
355
354
# Send 200 and verify that 10 are processed.
356
355
self .mocktime += 100
357
356
self .nodes [0 ].setmocktime (self .mocktime )
358
357
peer .increment_tokens (10 )
359
358
360
- self .send_addrs_and_test_rate_limiting (peer , no_relay , 200 , 1410 )
359
+ self .send_addrs_and_test_rate_limiting (peer , no_relay , new_addrs = 200 , total_addrs = 1410 )
361
360
362
361
# Advance the time by 1000 seconds, permitting the processing of 100 more addresses.
363
362
# Send 200 and verify that 100 are processed.
364
363
self .mocktime += 1000
365
364
self .nodes [0 ].setmocktime (self .mocktime )
366
365
peer .increment_tokens (100 )
367
366
368
- self .send_addrs_and_test_rate_limiting (peer , no_relay , 200 , 1610 )
367
+ self .send_addrs_and_test_rate_limiting (peer , no_relay , new_addrs = 200 , total_addrs = 1610 )
369
368
370
369
self .nodes [0 ].disconnect_p2ps ()
371
370
371
+
372
372
if __name__ == '__main__' :
373
373
AddrTest ().main ()
0 commit comments