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>`, `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-2021 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
`static 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
`Terminal​(DEVSSimulatorInterface.TimeDouble simulator, StationInterface cpu, DistContinuous thinkDelay, DistContinuous jobSize)` constructs a new Terminal.

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

#### SERVICE_TIME

    public static final TimedEventType SERVICE_TIME

SERVICE_TIME is fired on job completion.

### Constructor Detail

#### 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 Detail

#### 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>`