Package org.yamcs.tctm
Class UdpTmDataLink
- java.lang.Object
-
- com.google.common.util.concurrent.AbstractService
-
- org.yamcs.tctm.AbstractLink
-
- org.yamcs.tctm.AbstractTmDataLink
-
- org.yamcs.tctm.UdpTmDataLink
-
- All Implemented Interfaces:
com.google.common.util.concurrent.Service,Runnable,SystemParametersProducer,Link,TmPacketDataLink
public class UdpTmDataLink extends AbstractTmDataLink implements Runnable
Receives telemetry packets via UDP. One UDP datagram = one TM packet. Keeps simple statistics about the number of datagram received and the number of too short datagrams
-
-
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 UdpTmDataLink()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Link.StatusconnectionStatus()In case the link should be connected (i.e. is running and enabled) this method is called to return the actual connection statusvoiddoDisable()Sets the disabled to true such that getNextPacket ignores the received datagramsvoiddoEnable()Sets the disabled to false such that getNextPacket does not ignore the received datagramsvoiddoStart()voiddoStop()StringgetDetailedStatus()returns statistics with the number of datagram received and the number of invalid datagramsTmPacketgetNextPacket()Called to retrieve the next packet.voidinit(String instance, String name, YConfiguration config)Creates a new UDP TM Data Linkvoidrun()-
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 instance, String name, YConfiguration config) throws ConfigurationException
Creates a new UDP TM Data Link- Specified by:
initin interfaceLink- Overrides:
initin classAbstractTmDataLinkconfig- - the configuration - cannot be null (but can be empty)- Throws:
ConfigurationException- if port is not defined in the configuration
-
doStart
public void doStart()
- Specified by:
doStartin classcom.google.common.util.concurrent.AbstractService
-
doStop
public void doStop()
- Specified by:
doStopin classcom.google.common.util.concurrent.AbstractService
-
getNextPacket
public TmPacket getNextPacket()
Called to retrieve the next packet. It blocks in readining on the multicast socket- Returns:
- anything that looks as a valid packet, just the size is taken into account to decide if it's valid or not
-
getDetailedStatus
public String getDetailedStatus()
returns statistics with the number of datagram received and the number of invalid datagrams- Specified by:
getDetailedStatusin interfaceLink- Overrides:
getDetailedStatusin classAbstractLink- Returns:
- more detailed status information
-
doDisable
public void doDisable()
Sets the disabled to true such that getNextPacket ignores the received datagrams- Overrides:
doDisablein classAbstractLink
-
doEnable
public void doEnable() throws SocketExceptionSets the disabled to false such that getNextPacket does not ignore the received datagrams- Overrides:
doEnablein classAbstractLink- Throws:
SocketException
-
connectionStatus
protected Link.Status connectionStatus()
Description copied from class:AbstractLinkIn case the link should be connected (i.e. is running and enabled) this method is called to return the actual connection status- Specified by:
connectionStatusin classAbstractLink
-
-