org.jcsp.plugNplay.ints
Class RegulateInt
java.lang.Object
org.jcsp.plugNplay.ints.RegulateInt
- All Implemented Interfaces:
- CSProcess
public class RegulateInt
- extends Object
- implements CSProcess
This process controls the rate of flow of traffic from its input to output channels.
Process Diagram
in _______________________________
--->---| | out
reset | RegulateInt (initialInterval) |-->--
--->---|_______________________________|
Description
RegulateInt produces a constant rate of output flow, regardless of
the rate of its input.
At the end of each time period, it outputs the last object input during that period.
If nothing comes in, the previous output will be repeated
(note: this is defined to be zero if nothing has ever arrived).
If the input flow is greater than the required output flow, data will be discarded.
The interval (in msecs) defining the output flow rate is given by a constructor argument.
This can be changed at any time by sending a new interval (as a Long)
down its reset channel.
Channel Protocols
Input Channels |
in |
int |
The input stream.
|
reset |
java.lang.Long |
This resets the time interval between outputs (milliseconds).
|
Output Channels |
out |
int |
This carries samples from the input data, sampled at the
defined rate.
|
Implementation
See here (for the implementation
of Regulate
– which is the same apart from regulating Object,
rather than int, traffic).
- Author:
- P.H. Welch
- See Also:
FixedDelayInt
,
RegularInt
Method Summary |
void |
run()
The main body of this process. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RegulateInt
public RegulateInt(AltingChannelInputInt in,
AltingChannelInput reset,
ChannelOutputInt out,
long initialInterval)
- Construct the process.
- Parameters:
in
- the input channelout
- the output channelinitialInterval
- the initial interval between outputs (in milliseconds)reset
- send a Long down this to change the interval between outputs (in milliseconds)
run
public void run()
- The main body of this process.
- Specified by:
run
in interface CSProcess
Copyright © 1996-2012. All Rights Reserved.