mirror of
https://github.com/espressif/openthread.git
synced 2026-09-11 11:40:06 +00:00
[tests] use common definition for border router startup delay (#7721)
This commit is contained in:
@@ -85,7 +85,7 @@ class SingleHostAndService(thread_cert.TestCase):
|
|||||||
server.srp_server_set_enabled(True)
|
server.srp_server_set_enabled(True)
|
||||||
server.srp_server_set_lease_range(LEASE, LEASE, KEY_LEASE, KEY_LEASE)
|
server.srp_server_set_lease_range(LEASE, LEASE, KEY_LEASE, KEY_LEASE)
|
||||||
server.start()
|
server.start()
|
||||||
self.simulator.go(10)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', server.get_state())
|
self.assertEqual('leader', server.get_state())
|
||||||
self.assertEqual(server.srp_server_get_state(), 'running')
|
self.assertEqual(server.srp_server_get_state(), 'running')
|
||||||
|
|
||||||
@@ -304,7 +304,7 @@ class SrpClientRemoveNonExistingHost(thread_cert.TestCase):
|
|||||||
server.srp_server_set_enabled(True)
|
server.srp_server_set_enabled(True)
|
||||||
server.srp_server_set_lease_range(LEASE, LEASE, KEY_LEASE, KEY_LEASE)
|
server.srp_server_set_lease_range(LEASE, LEASE, KEY_LEASE, KEY_LEASE)
|
||||||
server.start()
|
server.start()
|
||||||
self.simulator.go(10)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', server.get_state())
|
self.assertEqual('leader', server.get_state())
|
||||||
self.assertEqual(server.srp_server_get_state(), 'running')
|
self.assertEqual(server.srp_server_get_state(), 'running')
|
||||||
|
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ class TestBorderRouterAsFed(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
self.assertEqual('child', br.get_state())
|
self.assertEqual('child', br.get_state())
|
||||||
|
|
||||||
self.simulator.go(20)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('child', br.get_state())
|
self.assertEqual('child', br.get_state())
|
||||||
|
|
||||||
# Leader can ping to/from the Host on infra link.
|
# Leader can ping to/from the Host on infra link.
|
||||||
|
|||||||
@@ -90,12 +90,12 @@ class TestDnssdInstanceNameWithSpace(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
server.srp_server_set_enabled(True)
|
server.srp_server_set_enabled(True)
|
||||||
|
|
||||||
br2.start()
|
br2.start()
|
||||||
self.simulator.go(config.ROUTER_STARTUP_DELAY)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('router', br2.get_state())
|
self.assertEqual('router', br2.get_state())
|
||||||
|
|
||||||
client.start()
|
client.start()
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ class TestDnssdServerOnBr(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
server.srp_server_set_enabled(True)
|
server.srp_server_set_enabled(True)
|
||||||
|
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ class TestDnssdServerOnMultiBr(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
br1.srp_server_set_enabled(True)
|
br1.srp_server_set_enabled(True)
|
||||||
|
|
||||||
@@ -140,7 +140,7 @@ class TestDnssdServerOnMultiBr(thread_cert.TestCase):
|
|||||||
br2.start_otbr_service()
|
br2.start_otbr_service()
|
||||||
br2.start()
|
br2.start()
|
||||||
|
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
|
|
||||||
br2_addr = br2.get_ip6_address(config.ADDRESS_TYPE.OMR)[0]
|
br2_addr = br2.get_ip6_address(config.ADDRESS_TYPE.OMR)[0]
|
||||||
|
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ class TestEndDeviceUdpReachability(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
br1.udp_start("::", PORT, bind_unspecified=True)
|
br1.udp_start("::", PORT, bind_unspecified=True)
|
||||||
|
|
||||||
|
|||||||
@@ -93,11 +93,11 @@ class ExternalRoutes(thread_cert.TestCase):
|
|||||||
host = self.nodes[HOST]
|
host = self.nodes[HOST]
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
|
|
||||||
br2.start()
|
br2.start()
|
||||||
self.simulator.go(config.ROUTER_STARTUP_DELAY)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('router', br2.get_state())
|
self.assertEqual('router', br2.get_state())
|
||||||
|
|
||||||
router1.start()
|
router1.start()
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ class Firewall(thread_cert.TestCase):
|
|||||||
host = self.nodes[HOST]
|
host = self.nodes[HOST]
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
|
|
||||||
router1.start()
|
router1.start()
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ class ManualAddressConfig(thread_cert.TestCase):
|
|||||||
router = self.nodes[ROUTER]
|
router = self.nodes[ROUTER]
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
self.assertTrue(br1.is_primary_backbone_router)
|
self.assertTrue(br1.is_primary_backbone_router)
|
||||||
|
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ class ManualMulticastAddressConfig(thread_cert.TestCase):
|
|||||||
host = self.nodes[HOST]
|
host = self.nodes[HOST]
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
self.assertTrue(br1.is_primary_backbone_router)
|
self.assertTrue(br1.is_primary_backbone_router)
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,8 @@
|
|||||||
#
|
#
|
||||||
import ipaddress
|
import ipaddress
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
import config
|
||||||
import thread_cert
|
import thread_cert
|
||||||
|
|
||||||
# Test description:
|
# Test description:
|
||||||
@@ -65,7 +67,7 @@ class ManualOmrsPrefix(thread_cert.TestCase):
|
|||||||
br2 = self.nodes[BR_2]
|
br2 = self.nodes[BR_2]
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(10)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
|
|
||||||
self.simulator.go(10)
|
self.simulator.go(10)
|
||||||
@@ -73,7 +75,7 @@ class ManualOmrsPrefix(thread_cert.TestCase):
|
|||||||
|
|
||||||
br2.disable_br()
|
br2.disable_br()
|
||||||
br2.start()
|
br2.start()
|
||||||
self.simulator.go(15)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('router', br2.get_state())
|
self.assertEqual('router', br2.get_state())
|
||||||
self.assertEqual(br1.get_netdata_omr_prefixes(), [br1.get_br_omr_prefix()])
|
self.assertEqual(br1.get_netdata_omr_prefixes(), [br1.get_br_omr_prefix()])
|
||||||
|
|
||||||
|
|||||||
@@ -100,13 +100,13 @@ class MdnsRestart(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
|
|
||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br2.start()
|
br2.start()
|
||||||
self.simulator.go(config.ROUTER_STARTUP_DELAY)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('router', br2.get_state())
|
self.assertEqual('router', br2.get_state())
|
||||||
|
|
||||||
ed1.start()
|
ed1.start()
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ class MultiBorderRouters(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
|
|
||||||
router1.start()
|
router1.start()
|
||||||
@@ -112,7 +112,7 @@ class MultiBorderRouters(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br2.start()
|
br2.start()
|
||||||
self.simulator.go(config.ROUTER_STARTUP_DELAY)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('router', br2.get_state())
|
self.assertEqual('router', br2.get_state())
|
||||||
|
|
||||||
router2.start()
|
router2.start()
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ class MultiThreadNetworks(thread_cert.TestCase):
|
|||||||
router2 = self.nodes[ROUTER2]
|
router2 = self.nodes[ROUTER2]
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
|
|
||||||
router1.start()
|
router1.start()
|
||||||
@@ -101,7 +101,7 @@ class MultiThreadNetworks(thread_cert.TestCase):
|
|||||||
self.assertEqual('router', router1.get_state())
|
self.assertEqual('router', router1.get_state())
|
||||||
|
|
||||||
br2.start()
|
br2.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br2.get_state())
|
self.assertEqual('leader', br2.get_state())
|
||||||
|
|
||||||
router2.start()
|
router2.start()
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ class Nat64MultiBorderRouter(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
|
|
||||||
router.start()
|
router.start()
|
||||||
@@ -101,7 +101,7 @@ class Nat64MultiBorderRouter(thread_cert.TestCase):
|
|||||||
# its local nat64 prefix to Network Data.
|
# its local nat64 prefix to Network Data.
|
||||||
#
|
#
|
||||||
br2.start()
|
br2.start()
|
||||||
self.simulator.go(config.ROUTER_STARTUP_DELAY)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('router', br2.get_state())
|
self.assertEqual('router', br2.get_state())
|
||||||
|
|
||||||
# Only 1 NAT64 prefix in Network Data.
|
# Only 1 NAT64 prefix in Network Data.
|
||||||
@@ -129,7 +129,7 @@ class Nat64MultiBorderRouter(thread_cert.TestCase):
|
|||||||
self.assertNotEqual(br1_nat64_prefix, br1.get_netdata_nat64_prefix()[0])
|
self.assertNotEqual(br1_nat64_prefix, br1.get_netdata_nat64_prefix()[0])
|
||||||
|
|
||||||
br1.enable_br()
|
br1.enable_br()
|
||||||
self.simulator.go(30)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
|
|
||||||
# NAT64 prefix in Network Data is still advertised by BR2.
|
# NAT64 prefix in Network Data is still advertised by BR2.
|
||||||
self.assertEqual(len(br1.get_netdata_nat64_prefix()), 1)
|
self.assertEqual(len(br1.get_netdata_nat64_prefix()), 1)
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ class Nat64SingleBorderRouter(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br.start()
|
br.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br.get_state())
|
self.assertEqual('leader', br.get_state())
|
||||||
|
|
||||||
router.start()
|
router.start()
|
||||||
@@ -130,7 +130,7 @@ class Nat64SingleBorderRouter(thread_cert.TestCase):
|
|||||||
self.assertEqual(len(br.get_netdata_nat64_prefix()), 0)
|
self.assertEqual(len(br.get_netdata_nat64_prefix()), 0)
|
||||||
|
|
||||||
br.enable_br()
|
br.enable_br()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
|
|
||||||
# Same NAT64 prefix is advertised to Network Data.
|
# Same NAT64 prefix is advertised to Network Data.
|
||||||
self.assertEqual(len(br.get_netdata_nat64_prefix()), 1)
|
self.assertEqual(len(br.get_netdata_nat64_prefix()), 1)
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ class TestPlatUdpAccessibility(thread_cert.TestCase):
|
|||||||
router = self.nodes[ROUTER]
|
router = self.nodes[ROUTER]
|
||||||
|
|
||||||
br.start()
|
br.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br.get_state())
|
self.assertEqual('leader', br.get_state())
|
||||||
br.srp_server_set_enabled(True)
|
br.srp_server_set_enabled(True)
|
||||||
|
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ class PublishMeshCopService(thread_cert.TestCase):
|
|||||||
# TODO enable this line when renaming with mDNSResponder is stable
|
# TODO enable this line when renaming with mDNSResponder is stable
|
||||||
# self.check_meshcop_service(br1, host)
|
# self.check_meshcop_service(br1, host)
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(20)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
self.check_meshcop_service(br1, host)
|
self.check_meshcop_service(br1, host)
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ class PublishMeshCopService(thread_cert.TestCase):
|
|||||||
br1.stop()
|
br1.stop()
|
||||||
br1.set_network_name('ot-br1-1')
|
br1.set_network_name('ot-br1-1')
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(10)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.check_meshcop_service(br1, host)
|
self.check_meshcop_service(br1, host)
|
||||||
|
|
||||||
# verify that there are two meshcop services
|
# verify that there are two meshcop services
|
||||||
@@ -111,7 +111,7 @@ class PublishMeshCopService(thread_cert.TestCase):
|
|||||||
br2.start()
|
br2.start()
|
||||||
br2.disable_backbone_router()
|
br2.disable_backbone_router()
|
||||||
br2.enable_br()
|
br2.enable_br()
|
||||||
self.simulator.go(25)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
|
|
||||||
service_instances = host.browse_mdns_services('_meshcop._udp')
|
service_instances = host.browse_mdns_services('_meshcop._udp')
|
||||||
self.assertEqual(len(service_instances), 2)
|
self.assertEqual(len(service_instances), 2)
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ class SingleBorderRouter(thread_cert.TestCase):
|
|||||||
self.simulator.go(config.ROUTER_STARTUP_DELAY)
|
self.simulator.go(config.ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('router', router.get_state())
|
self.assertEqual('router', router.get_state())
|
||||||
|
|
||||||
self.simulator.go(10)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.collect_ipaddrs()
|
self.collect_ipaddrs()
|
||||||
|
|
||||||
logging.info("BR addrs: %r", br.get_addrs())
|
logging.info("BR addrs: %r", br.get_addrs())
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ class SingleBorderRouter(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br.start()
|
br.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br.get_state())
|
self.assertEqual('leader', br.get_state())
|
||||||
|
|
||||||
router.start()
|
router.start()
|
||||||
@@ -216,7 +216,7 @@ class SingleBorderRouter(thread_cert.TestCase):
|
|||||||
br.enable_br()
|
br.enable_br()
|
||||||
|
|
||||||
# It takes around 10 seconds to start sending RA messages.
|
# It takes around 10 seconds to start sending RA messages.
|
||||||
self.simulator.go(15)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.collect_ipaddrs()
|
self.collect_ipaddrs()
|
||||||
|
|
||||||
logging.info("BR addrs: %r", br.get_addrs())
|
logging.info("BR addrs: %r", br.get_addrs())
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ class TestTrelConnectivity(thread_cert.TestCase):
|
|||||||
self.wait_node_state(router2, 'router', 10)
|
self.wait_node_state(router2, 'router', 10)
|
||||||
|
|
||||||
# Allow the network to stabilize
|
# Allow the network to stabilize
|
||||||
self.simulator.go(config.ROUTER_STARTUP_DELAY)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
|
|
||||||
self.collect_ipaddrs()
|
self.collect_ipaddrs()
|
||||||
self.collect_rloc16s()
|
self.collect_rloc16s()
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ class MultiThreadNetworks(thread_cert.TestCase):
|
|||||||
self.simulator.go(5)
|
self.simulator.go(5)
|
||||||
|
|
||||||
br1.start()
|
br1.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br1.get_state())
|
self.assertEqual('leader', br1.get_state())
|
||||||
|
|
||||||
router1.start()
|
router1.start()
|
||||||
@@ -139,7 +139,7 @@ class MultiThreadNetworks(thread_cert.TestCase):
|
|||||||
host.kill_radvd_service()
|
host.kill_radvd_service()
|
||||||
|
|
||||||
br2.start()
|
br2.start()
|
||||||
self.simulator.go(5)
|
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
|
||||||
self.assertEqual('leader', br2.get_state())
|
self.assertEqual('leader', br2.get_state())
|
||||||
|
|
||||||
router2.start()
|
router2.start()
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ SNIFFER_ID = int(os.getenv('SNIFFER_ID', 34))
|
|||||||
PANID = 0xface
|
PANID = 0xface
|
||||||
|
|
||||||
ROUTER_STARTUP_DELAY = 10
|
ROUTER_STARTUP_DELAY = 10
|
||||||
|
BORDER_ROUTER_STARTUP_DELAY = 20
|
||||||
MAX_NEIGHBOR_AGE = 100
|
MAX_NEIGHBOR_AGE = 100
|
||||||
INFINITE_COST_TIMEOUT = 90
|
INFINITE_COST_TIMEOUT = 90
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user