def act(self, entity, data=None):
        if (self.logs):
            print(self.name + ": Dequeued to " + data.name + " at Tick:" +
                  str(self.simulation.tick))

        Actor.leave(self, entity)
        data.enter(entity)
 def __init__(self, event, intervalfunction, maxevents=0):
     Actor.__init__(self)
     self.event = event
     self.eventsgenerated = 1
     self.maxevents = maxevents
     self.intervalfunction = intervalfunction
     self.name = "EventGenerator"
예제 #3
0
 def __init__(self, event, intervalfunction, maxevents=0):
     Actor.__init__(self)
     self.event = event
     self.eventsgenerated = 1
     self.maxevents = maxevents
     self.intervalfunction = intervalfunction
     self.name = "EventGenerator"
 def __init__(self, destination, delayinterval, delayintervaldata=None, maxentities=0):
     Actor.__init__(self)
     self.destination = destination
     self.delayinterval = delayinterval
     self.delayintervaldata = delayintervaldata
     self.maxentities = maxentities
     self.name = "Delay"
예제 #5
0
    def act(self, entity, data=None):
        if (self.logs):
            print(self.name + ": Disposed Entity at Tick:" +
                  str(self.simulation.tick))

        entity.dispose(self.simulation.tick)
        if (self.deleteentityfrommemory):
            Actor.leave(self, entity)
            del entity
    def enter(self, entity):
        if (self.logs):
            print(self.name + ": Enqueued at Tick:" + str(self.simulation.tick))

        Actor.enter(self, entity)
        for i in self.destinations:
            if (i.accepts_new):
                if (len(self.entities)):
                    self.act(self.entities[-1], i)
    def enter(self, entity):
        if (self.logs):
            print(self.name + ": Enqueued at Tick:" +
                  str(self.simulation.tick))

        Actor.enter(self, entity)
        for i in self.destinations:
            if (i.accepts_new):
                if (len(self.entities)):
                    self.act(self.entities[-1], i)
 def enter(self, entity):
     if (not self.accepts_new):
         print("Error: Entered into Delay when accepts_new = False")
         self.simulation.error = True
         return
         
     Actor.enter(self, entity)
     self.act(entity)
     if (self.maxentities != 0 and self.maxentities <= len(self.entities)):
         self.accepts_new = False
예제 #9
0
    def enter(self, entity):
        if (not self.accepts_new):
            print("Error: Entered into Delay when accepts_new = False")
            self.simulation.error = True
            return

        Actor.enter(self, entity)
        self.act(entity)
        if (self.maxentities != 0 and self.maxentities <= len(self.entities)):
            self.accepts_new = False
예제 #10
0
 def __init__(self, destination, entitytype, entitycreationdata, maxentities=0, batch=False, batchfunction=None):
     Actor.__init__(self)
     self.destination = destination
     self.entitytype = entitytype
     self.entitycreationdata = entitycreationdata
     self.batch = batch
     self.batchfunction = batchfunction
     self.maxentities = maxentities
     self.entitiescreated = 1
     self.name = "Generator"
 def act(self, entity, data=None):
     if (self.logs):
         print(self.name + ": Disposed Entity at Tick:" + str(self.simulation.tick))
     
     
     
     entity.dispose(self.simulation.tick)
     if (self.deleteentityfrommemory):
         Actor.leave(self, entity)
         del entity
예제 #12
0
 def __init__(self,
              destination,
              delayinterval,
              delayintervaldata=None,
              maxentities=0):
     Actor.__init__(self)
     self.destination = destination
     self.delayinterval = delayinterval
     self.delayintervaldata = delayintervaldata
     self.maxentities = maxentities
     self.name = "Delay"
예제 #13
0
    def enddelay(self, data):

        if (self.logs):
            print(self.name + ": Delay ended at Tick:" +
                  str(self.simulation.tick))

        if (self.maxentities != 0
                and self.maxentities > len(self.entities) - 1):
            self.accepts_new = True

        Actor.leave(self, data)

        self.destination.enter(data)
 def enddelay(self, data):
     
     if (self.logs):
         print(self.name + ": Delay ended at Tick:" + str(self.simulation.tick))
     
     if (self.maxentities != 0 and self.maxentities > len(self.entities) - 1):
         self.accepts_new = True
     
     Actor.leave(self, data)
     
     
     
     
     self.destination.enter(data)
 def start(self):
     Actor.start(self)
     for i in self.destinations:
         i.registerforleavecalback(self.leavecallback)
    def act(self, entity, data=None):

        Actor.leave(self, entity)
        data.enter(entity)
 def __init__(self, destinations):
     Actor.__init__(self)
     self.destinations = destinations
     self.name = "Queue"
예제 #18
0
 def act(self, entity):
     Actor.leave(self, entity)
     nextactor = self.branchactors[self.branchfunction(entity)]
     nextactor.enter(entity)
 def act(self, entity, data=None):
     
     Actor.leave(self, entity)
     data.enter(entity)
 def __init__(self, branchactors, branchfunction):
     Actor.__init__(self)
     self.branchactors = branchactors
     self.branchfunction = branchfunction
     self.name = "Branch"
예제 #21
0
 def __init__(self):
     Actor.__init__(self)
     self.name = 'Slot'
예제 #22
0
 def __init__(self, branchactors, branchfunction):
     Actor.__init__(self)
     self.branchactors = branchactors
     self.branchfunction = branchfunction
     self.name = "Branch"
 def __init__(self, destination, initialinventory=[]):
     Actor.__init__(self)
     self.destination = destination
     self.initialinventory = initialinventory
     self.name = "Storage"
 def __init__(self, destinations):
     Actor.__init__(self)
     self.destinations = destinations
     self.name = "Queue"
 def start(self):
     Actor.start(self)
     for i in self.destinations:
         i.registerforleavecalback(self.leavecallback)
예제 #26
0
 def start(self):
     Actor.start(self)
 def __init__(self):
     Actor.__init__(self)
     self.name = 'Disposer'
     self.deleteentityfrommemory = True
 def __init__(self, destination, initialinventory=[]):
     Actor.__init__(self)
     self.destination = destination
     self.initialinventory = initialinventory
     self.name = "Storage"
 def act(self, entity):
     Actor.leave(self, entity)
     nextactor = self.branchactors[self.branchfunction(entity)]
     nextactor.enter(entity)
 def act(self, entity, data=None):
     function(entity)
     Actor.leave(self, entity)
     self.destination.enter(entity)
 def enter(self, entity):
     if (self.logs):
         print(self.name + ": Decided at Tick:" + str(self.simulation.tick))
     
     Actor.enter(self, entity)
     self.act(entity)
 def enter(self, entity):
     Actor.enter(self, entity)
     self.act(entity)
 def start(self):
     Actor.start(self)
     for i in self.initialinventory:
         self.entities.append(i)
 def __init__(self):
     Actor.__init__(self)
     self.name = 'Slot'
 def __init__(self, destination, function):
     Actor.__init__(self)
     self.destination = destination
     self.function = function
     self.name = "Process"
 def act(self, entity, data=None):
     if (self.logs):
         print(self.name + ": Dequeued to " + data.name + " at Tick:" + str(self.simulation.tick))
     
     Actor.leave(self, entity)
     data.enter(entity)
예제 #37
0
    def enter(self, entity):
        if (self.logs):
            print(self.name + ": Decided at Tick:" + str(self.simulation.tick))

        Actor.enter(self, entity)
        self.act(entity)
 def start(self):
     Actor.start(self)
     for i in self.initialinventory:
         self.entities.append(i)
예제 #39
0
 def enter(self, entity):
     Actor.enter(self, entity)
     self.act(entity)
예제 #40
0
 def __init__(self):
     Actor.__init__(self)
     self.name = 'Disposer'
     self.deleteentityfrommemory = True
예제 #41
0
 def start(self):
     Actor.start(self)
     self.simulation.eventmanager.addevent(
         self.simulation.tick + self.intervalfunction(), self.generate)
 def start(self):
     Actor.start(self)
     self.simulation.eventmanager.addevent(self.simulation.tick + self.intervalfunction(), self.generate)