@@ -110,6 +110,7 @@ def __init__(self, owner, configuration):
110110 self .IN = True
111111 self .OUT = False
112112 self .name = name
113+ self .owner = owner
113114 self .online = False
114115 self .peers = {}
115116 self .link_local_addresses = []
@@ -292,33 +293,31 @@ def discovery_loop():
292293 else :
293294 self .bitrate = AutoInterface .BITRATE_GUESS
294295
295- peering_wait = self .announce_interval * 1.2
296- RNS .log (str (self )+ " discovering peers for " + str (round (peering_wait , 2 ))+ " seconds..." , RNS .LOG_VERBOSE )
296+ def final_init (self ):
297+ peering_wait = self .announce_interval * 1.2
298+ RNS .log (str (self )+ " discovering peers for " + str (round (peering_wait , 2 ))+ " seconds..." , RNS .LOG_VERBOSE )
297299
298- self .owner = owner
299- socketserver .UDPServer .address_family = socket .AF_INET6
300+ socketserver .UDPServer .address_family = socket .AF_INET6
300301
301- for ifname in self .adopted_interfaces :
302- local_addr = self .adopted_interfaces [ifname ]+ "%" + str (self .interface_name_to_index (ifname ))
303- addr_info = socket .getaddrinfo (local_addr , self .data_port , socket .AF_INET6 , socket .SOCK_DGRAM )
304- address = addr_info [0 ][4 ]
302+ for ifname in self .adopted_interfaces :
303+ local_addr = self .adopted_interfaces [ifname ]+ "%" + str (self .interface_name_to_index (ifname ))
304+ addr_info = socket .getaddrinfo (local_addr , self .data_port , socket .AF_INET6 , socket .SOCK_DGRAM )
305+ address = addr_info [0 ][4 ]
305306
306- udp_server = socketserver .UDPServer (address , self .handler_factory (self .process_incoming ))
307- self .interface_servers [ifname ] = udp_server
308-
309- thread = threading .Thread (target = udp_server .serve_forever )
310- thread .daemon = True
311- thread .start ()
312-
313- job_thread = threading .Thread (target = self .peer_jobs )
314- job_thread .daemon = True
315- job_thread .start ()
307+ udp_server = socketserver .UDPServer (address , self .handler_factory (self .process_incoming ))
308+ self .interface_servers [ifname ] = udp_server
309+
310+ thread = threading .Thread (target = udp_server .serve_forever )
311+ thread .daemon = True
312+ thread .start ()
316313
317- # TODO: Fix this
318- # time.sleep(peering_wait)
314+ job_thread = threading .Thread (target = self .peer_jobs )
315+ job_thread .daemon = True
316+ job_thread .start ()
319317
320- self . online = True
318+ time . sleep ( peering_wait )
321319
320+ self .online = True
322321
323322 def discovery_handler (self , socket , ifname ):
324323 def announce_loop ():
0 commit comments