Skip to content

Commit

Permalink
Pep8 reformatting
Browse files Browse the repository at this point in the history
  • Loading branch information
jeb16157 committed Feb 18, 2021
1 parent 00f6e6c commit 12dbcbe
Show file tree
Hide file tree
Showing 3 changed files with 255 additions and 100 deletions.
42 changes: 21 additions & 21 deletions Python/dddController.py
Original file line number Diff line number Diff line change
@@ -1,53 +1,53 @@
#DDD Controller: This class provides functionality for the ddd controller
# DDD Controller: This class provides functionality for the ddd controller
import random

from . import dddPortMapping


class dddController:
def __init__(self, timePortsLast, overlapTime, openNumbPorts, fileGen):
self.curTime = 0 #Current time
self.timePortsLast = timePortsLast #How long until the next port switch
self.toNextChange = self.curTime + self.timePortsLast #Exact time of next port switch
self.timeOverlap = overlapTime #Overlap time for old ports
self.oldPorts = [] #Old ports list
self.timeToFullChange = 0 #The time when old ports get deleted, leaving new ports
self.openNumbPorts = openNumbPorts #Amount of open ports
self.currentUsablePorts = self.generatePorts(openNumbPorts, []) #Current open ports that can be mapped
self.dddPortMapper = dddPortMapping.dddPortMapping(self.currentUsablePorts) #Port mapper object

self.fileGen = fileGen #File management object

#This function generates a list of new ports based of the amount of ports needed and the current open ports
self.curTime = 0 # Current time
self.timePortsLast = timePortsLast # How long until the next port switch
self.toNextChange = self.curTime + self.timePortsLast # Exact time of next port switch
self.timeOverlap = overlapTime # Overlap time for old ports
self.oldPorts = [] # Old ports list
self.timeToFullChange = 0 # The time when old ports get deleted, leaving new ports
self.openNumbPorts = openNumbPorts # Amount of open ports
self.currentUsablePorts = self.generatePorts(openNumbPorts, []) # Current open ports that can be mapped
self.dddPortMapper = dddPortMapping.dddPortMapping(self.currentUsablePorts) # Port mapper object

self.fileGen = fileGen # File management object

# This function generates a list of new ports based of the amount of ports needed and the current open ports
def generatePorts(self, openNumbPorts, currentOpenPorts):
newPorts = []
for i in range(openNumbPorts):
portNumber = random.randint(0, 500) #generate a random port number
#Makes sure ports aren't getting reused from the last iteration
portNumber = random.randint(0, 500) # generate a random port number
# Makes sure ports aren't getting reused from the last iteration
if(portNumber in currentOpenPorts):
while(portNumber in currentOpenPorts):
portNumber = random.randint(0, 500) #generate a random port number
portNumber = random.randint(0, 500) # generate a random port number
newPorts.append(portNumber)
return newPorts

#Checks to see if ports need to be changed. Saves the old ports and generates new usuable ports for mapping
# Checks to see if ports need to be changed. Saves the old ports and generates new usuable ports for mapping
def changePorts(self):
if(self.toNextChange <= self.curTime):
self.oldPorts = self.currentUsablePorts
self.currentUsablePorts = self.generatePorts(self.openNumbPorts, self.currentUsablePorts)
self.dddPortMapper.addNewPorts(self.currentUsablePorts)
#Resets timer for next port change and when to drop old ports
# Resets timer for next port change and when to drop old ports
self.timeToFullChange = self.curTime + self.timeOverlap
self.toNextChange = self.curTime + self.timePortsLast

#Once overlap timer is set off, the old ports are deleted.
# Once overlap timer is set off, the old ports are deleted.
def waitForOverlap(self):
if(self.timeToFullChange <= self.curTime):
self.dddPortMapper.deletePorts(self.oldPorts)
self.oldPorts = []
self.timeToFullChange = 0

#Updates timer and runs functions on every time unit
# Updates timer and runs functions on every time unit
def updateTime(self):
self.curTime = self.curTime + 1
self.numberOfPacketsReceived = 0
Expand Down
17 changes: 8 additions & 9 deletions Python/dddPortMapping.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,32 @@
#DDD Port Mapper: This class provides functionality for the port mapper within our simulation
# DDD Port Mapper: This class provides functionality for the port mapper within our simulation

class dddPortMapping:
def __init__(self, currentPorts):
self.portMappings = [] #Mapping of current ports, each entry is (internal port number, external port number)
#Maps the ports with a internal port number of 0 to begin with
for i in range(len(currentPorts)):
self.portMappings = [] # Mapping of current ports, each entry is (internal port number, external port number)
# Maps the ports with a internal port number of 0 to begin with
for i in range(len(currentPorts)):
self.portMappings.append([0, currentPorts[i]])

#Returns a port that hasn't been mapped yet
# Returns a port that hasn't been mapped yet
def getAvailableOpenPort(self):
for i in self.portMappings:
if(i[0] == 0):
return i[1]
return 0

#Deletes the old ports from the mappings
# Deletes the old ports from the mappings
def deletePorts(self, oldPorts):
for i in oldPorts:
for j in self.portMappings:
if(i == j[1]):
self.portMappings.remove(j)


#Adds the new ports to the port mapping that the ddd controller picked
# Adds the new ports to the port mapping that the ddd controller picked
def addNewPorts(self, newPorts):
for i in newPorts:
self.portMappings.append([0, i])

#Updates the mapping given the internal port number and external port number
# Updates the mapping given the internal port number and external port number
def updateMappings(self, internalPortNumber, externalPortNumber):
for i in self.portMappings:
if(i[1] == externalPortNumber):
Expand Down
Loading

0 comments on commit 12dbcbe

Please sign in to comment.