mirror of
https://github.com/ChronosX88/PyNesca.git
synced 2024-10-18 06:31:00 +00:00
19 lines
622 B
Python
19 lines
622 B
Python
from AbstractAddressGenerator import AbstractAddressGenerator
|
|
from threading import RLock
|
|
|
|
class IpGenerator(AbstractAddressGenerator):
|
|
|
|
def __init__(self, address_generator, ports):
|
|
self.address_generator = address_generator
|
|
self.ports = ports
|
|
self.portnum = -1
|
|
self.lock = RLock()
|
|
|
|
def get_next_address(self, previous_address):
|
|
with self.lock:
|
|
self.portnum = (self.portnum + 1) % len(self.ports)
|
|
try:
|
|
return (str(next(self.address_generator)), self.ports[self.portnum])
|
|
except StopIteration:
|
|
return None
|