public class EntityServer extends SimEntityBase
Modifier and Type | Field and Description |
---|---|
protected int |
numberAvailableServers
The number of available servers.
|
protected java.util.SortedSet<Entity> |
queue
The queue of waiting Customers.
|
private RandomVariate |
serviceTimeGenerator
The RandomVariate used to generate service times.
|
private int |
totalNumberServers
The total number of servers in the system
|
eventList, property
DEFAULT_ENTITY_NAME, DEFAULT_EVENT_NAME, DEFAULT_PRIORITY, EVENT_METHOD_PREFIX, NL
Constructor and Description |
---|
EntityServer() |
EntityServer(int totalNumberServers,
RandomVariate serviceTimeGenerator)
Creates a new EntityServer with the given number of servers, and service
time distribution.
|
Modifier and Type | Method and Description |
---|---|
void |
doArrival(Entity customer)
Adds arriving customer to queue.
|
void |
doEndService(Entity customer)
Increments number of available servers.
|
void |
doRun()
Fire property changes for the number in the queue (numberInQueue) and the
number of available servers (numberAvailableServers).
|
void |
doStartService()
Removes first Customer from queue; decrements number of available
servers.
|
int |
getNumberAvailableServers()
Returns the number of servers that are not busy.
|
int |
getNumberInQueue()
Returns the number of Customers in the queue.
|
java.util.SortedSet<Entity> |
getQueue()
Returns a copy of the queue.
|
RandomVariate |
getServiceTimeGenerator()
Returns the RandomVariate used to generate the service times.
|
int |
getTotalNumberServers()
Returns the total number of servers.
|
void |
reset()
Clear queue, set numberAvailableServers to total number of servers.
|
void |
setServiceTimeGenerator(RandomVariate st)
Sets the RandomVariate used to generate the service times.
|
void |
setTotalNumberServers(int totalNumberServers)
Sets the total number of servers.
|
coldReset, dumpDoMethods, dumpDoMethodsStr, dumpNamesAndSignatures, dumpNamesAndSignaturesStr, getFullMethodName, getSignatureString, handleSimEvent, isAssignableFrom, isDebug, processSimEvent, setDebug, stopAtTime, stopOnTime
addPropertyChangeListener, addPropertyChangeListener, attemptSchedule, clearAddedProperty, compareTo, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAddedProperties, getEventList, getEventListID, getName, getPriority, getPropertiesString, getProperty, getProperty, getPropertyChangeListeners, getSerial, interrupt, interrupt, interruptAll, interruptAll, interruptAll, interruptAllWithArgs, interruptAllWithArgs, isClearAddedPropertiesOnReset, isJustDefinedProperties, isPersistant, isReRunnable, isVerbose, parametersMatch, removePropertyChangeListener, removePropertyChangeListener, resetNextSerial, setClearAddedPropertiesOnReset, setEventList, setEventListID, setJustDefinedProperties, setName, setPersistant, setPriority, setProperty, setVerbose, toString, waitDelay, waitDelay, waitDelay, waitDelay
addSimEventListener, getSimEventListeners, notifyListeners, removeSimEventListener
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addSimEventListener, getSimEventListeners, notifyListeners, removeSimEventListener
private int totalNumberServers
private RandomVariate serviceTimeGenerator
protected java.util.SortedSet<Entity> queue
protected int numberAvailableServers
public EntityServer()
public EntityServer(int totalNumberServers, RandomVariate serviceTimeGenerator)
totalNumberServers
- total number of serversserviceTimeGenerator
- Generates service timespublic void reset()
reset
in interface ReRunnable
reset
in class BasicSimEntity
public void doRun()
public void doArrival(Entity customer)
customer
- Arriving Customerpublic void doStartService()
public void doEndService(Entity customer)
customer
- Customer finishing servicepublic void setServiceTimeGenerator(RandomVariate st)
st
- Service time RandomVariatepublic RandomVariate getServiceTimeGenerator()
public void setTotalNumberServers(int totalNumberServers)
totalNumberServers
- Total number of servers for this instancepublic int getTotalNumberServers()
public int getNumberInQueue()
public java.util.SortedSet<Entity> getQueue()
public int getNumberAvailableServers()