Package org.yamcs.tctm
Class FilePollingTmDataLink
- java.lang.Object
-
- com.google.common.util.concurrent.AbstractService
-
- org.yamcs.tctm.AbstractLink
-
- org.yamcs.tctm.AbstractTmDataLink
-
- org.yamcs.tctm.FilePollingTmDataLink
-
- All Implemented Interfaces:
com.google.common.util.concurrent.Service
,Runnable
,SystemParametersProducer
,Link
,TmPacketDataLink
public class FilePollingTmDataLink extends AbstractTmDataLink implements Runnable
TM packet data link which reads telemetry files from a specified directory. The files are split into packets according to the configurepacketInputStream
, run through the configured preprocessor and then sent on the stream.The data link scans continuously the incoming directory for new files. If multiple files are found, it processes them in alphabetical order.
Options:
incomingDir
- the directory where the files are read from.delteAfterImport
- if true (default), the files will be removed after being read.delayBetweenPackets
- if configured, it is the number of milliseconds to wait in between sending two packets. By default it is -1 meaning the packets are sent as fast as possible.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.yamcs.tctm.Link
Link.Status
-
-
Field Summary
-
Fields inherited from class org.yamcs.tctm.AbstractTmDataLink
packetCount, packetPreprocessor, updateSimulationTime
-
Fields inherited from class org.yamcs.tctm.AbstractLink
config, disabled, eventProducer, linkName, log, timeService, yamcsInstance
-
-
Constructor Summary
Constructors Constructor Description FilePollingTmDataLink()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Link.Status
connectionStatus()
In case the link should be connected (i.e. is running and enabled) this method is called to return the actual connection statusvoid
doDisable()
void
doEnable()
protected void
doStart()
protected void
doStop()
String
getDetailedStatus()
static InputStream
getInputStream(String fileName)
void
init(String yamcsInstance, String name, YConfiguration config)
Called at startup to initialize the link.void
run()
-
Methods inherited from class org.yamcs.tctm.AbstractTmDataLink
collectSystemParameters, getDataInCount, getDataOutCount, processPacket, resetCounters, setTmSink, setupSystemParameters, updateStats
-
Methods inherited from class org.yamcs.tctm.AbstractLink
disable, enable, getConfig, getCurrentTime, getEventLoop, getLinkStatus, getName, getSystemParameters, isDisabled, isRunningAndEnabled
-
Methods inherited from class com.google.common.util.concurrent.AbstractService
addListener, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, failureCause, isRunning, notifyFailed, notifyStarted, notifyStopped, startAsync, state, stopAsync, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.yamcs.tctm.Link
disable, enable, getConfig, getLinkStatus, getName, getParent, getSpec, isDisabled, setParent
-
Methods inherited from interface org.yamcs.parameter.SystemParametersProducer
getSystemParameters
-
-
-
-
Method Detail
-
init
public void init(String yamcsInstance, String name, YConfiguration config)
Description copied from interface:Link
Called at startup to initialize the link.The config corresponds to the map that is under the link definition in yamcs.instance.yaml.
- Specified by:
init
in interfaceLink
- Overrides:
init
in classAbstractTmDataLink
config
- - the configuration - cannot be null (but can be empty)
-
getInputStream
public static InputStream getInputStream(String fileName) throws IOException
- Throws:
IOException
-
getDetailedStatus
public String getDetailedStatus()
- Specified by:
getDetailedStatus
in interfaceLink
- Overrides:
getDetailedStatus
in classAbstractLink
- Returns:
- more detailed status information
-
doDisable
public void doDisable()
- Overrides:
doDisable
in classAbstractLink
-
doEnable
public void doEnable()
- Overrides:
doEnable
in classAbstractLink
-
doStart
protected void doStart()
- Specified by:
doStart
in classcom.google.common.util.concurrent.AbstractService
-
doStop
protected void doStop()
- Specified by:
doStop
in classcom.google.common.util.concurrent.AbstractService
-
connectionStatus
protected Link.Status connectionStatus()
Description copied from class:AbstractLink
In case the link should be connected (i.e. is running and enabled) this method is called to return the actual connection status- Specified by:
connectionStatus
in classAbstractLink
-
-