Package nl.tudelft.simulation.examples.dsol.timesharedcomputer

# Class Terminal

java.lang.Object
org.djutils.event.EventProducer
nl.tudelft.simulation.dsol.formalisms.flow.Station<Double,​Double,​SimTimeDouble>
nl.tudelft.simulation.examples.dsol.timesharedcomputer.Terminal

All Implemented Interfaces:
  `Serializable`, `StationInterface<Double,​Double,​SimTimeDouble>`, `org.djutils.event.EventProducerInterface`

    public class Terminal
    extends Station<Double,​Double,​SimTimeDouble>

The Terminal as published in Simulation Modeling and Analysis by A.M. Law & W.D. Kelton section 1.4 and 2.4..

Copyright (c) 2003-2020 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://simulation.tudelft.nl. The DSOL project is distributed under a three-clause BSD-style license, which can be found at https://simulation.tudelft.nl/dsol/3.0/license.html.

Author:
  Peter Jacobs
See Also:
  Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class nl.tudelft.simulation.dsol.formalisms.flow.Station

`Station.CalendarDouble, Station.CalendarFloat, Station.CalendarLong, Station.TimeDouble, Station.TimeDoubleUnit, Station.TimeFloat, Station.TimeFloatUnit, Station.TimeLong`

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`static org.djutils.event.TimedEventType` | `SERVICE_TIME` | SERVICE_TIME is fired on job completion.

### Fields inherited from class nl.tudelft.simulation.dsol.formalisms.flow.Station

`destination, simulator`

### Fields inherited from class org.djutils.event.EventProducer

`eventProducerImpl`

### Fields inherited from interface org.djutils.event.EventProducerInterface

`FIRST_POSITION, LAST_POSITION`

### Fields inherited from interface nl.tudelft.simulation.dsol.formalisms.flow.StationInterface

`RECEIVE_EVENT, RELEASE_EVENT`

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`Terminal​(DEVSSimulatorInterface.TimeDouble simulator, StationInterface cpu, DistContinuous thinkDelay, DistContinuous jobSize)` | constructs a new Terminal.

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`void` | `receiveObject​(Object object)`
`void` | `releaseObject​(Object object)`

### Methods inherited from class nl.tudelft.simulation.dsol.formalisms.flow.Station

`getDestination, getSimulator, getSourceId, setDestination`

### Methods inherited from class org.djutils.event.EventProducer

`addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListener`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.djutils.event.EventProducerInterface

`addListener, addListener, addListener, addListener, getEventTypesWithListeners, hasListeners, numberOfListeners, removeListener`

## Field Details

### SERVICE_TIME

public static final org.djutils.event.TimedEventType SERVICE_TIME
SERVICE_TIME is fired on job completion.

## Constructor Details

### Terminal

public Terminal​(DEVSSimulatorInterface.TimeDouble simulator, StationInterface cpu, DistContinuous thinkDelay, DistContinuous jobSize)
constructs a new Terminal.

Parameters:
  `simulator` - DEVSSimulatorInterface.TimeDouble; the simulator
  `cpu` - StationInterface; the destination
  `thinkDelay` - DistContinuous; the delay
  `jobSize` - DistContinuous; in time

## Method Details

### receiveObject

public void receiveObject​(Object object)

Specified by:
  `receiveObject` in interface `StationInterface<Double,​Double,​SimTimeDouble>`
Overrides:
  `receiveObject` in class `Station<Double,​Double,​SimTimeDouble>`

### releaseObject

public void releaseObject​(Object object)

Overrides:
  `releaseObject` in class `Station<Double,​Double,​SimTimeDouble>`