Package org.yamcs.tctm
Class UdpParameterDataLink
- java.lang.Object
-
- com.google.common.util.concurrent.AbstractService
-
- org.yamcs.tctm.UdpParameterDataLink
-
- All Implemented Interfaces:
com.google.common.util.concurrent.Service,Runnable,Link,ParameterDataLink
public class UdpParameterDataLink extends com.google.common.util.concurrent.AbstractService implements ParameterDataLink, Runnable
Receives PP data via UDP. The UDP packets are protobuf encoded ParameterData. We don't use any checksum, assume it's done by UDP.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.yamcs.tctm.Link
Link.Status
-
-
Constructor Summary
Constructors Constructor Description UdpParameterDataLink()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddisable()Sets the disabled to true such that getNextPacket ignores the received datagramsprotected voiddoStart()protected voiddoStop()voidenable()Sets the disabled to false such that getNextPacket does not ignore the received datagramsYConfigurationgetConfig()longgetDataInCount()longgetDataOutCount()StringgetDetailedStatus()Returns statistics with the number of datagrams received and the number of invalid datagramsLink.StatusgetLinkStatus()Returns the current link status.StringgetName()Return the name of the linkorg.yamcs.protobuf.Pvalue.ParameterDatagetNextData()Called to retrieve the next packet.voidinit(String instance, String name, YConfiguration config)Called at startup to initialize the link.booleanisDisabled()voidresetCounters()voidrun()voidsetParameterSink(ParameterSink parameterSink)-
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
getParent, getSpec, setParent, setupSystemParameters
-
-
-
-
Method Detail
-
init
public void init(String instance, String name, YConfiguration config)
Description copied from interface:LinkCalled at startup to initialize the link.The config corresponds to the map that is under the link definition in yamcs.instance.yaml.
-
doStart
protected void doStart()
- Specified by:
doStartin classcom.google.common.util.concurrent.AbstractService
-
doStop
protected void doStop()
- Specified by:
doStopin classcom.google.common.util.concurrent.AbstractService
-
getNextData
public org.yamcs.protobuf.Pvalue.ParameterData getNextData()
Called to retrieve the next packet. It blocks in reading on the UDP socket.- Returns:
- anything that looks as a valid packet, just the size is taken into account to decide if it's valid or not
-
getLinkStatus
public Link.Status getLinkStatus()
Description copied from interface:LinkReturns the current link status.- Specified by:
getLinkStatusin interfaceLink
-
getDetailedStatus
public String getDetailedStatus()
Returns statistics with the number of datagrams received and the number of invalid datagrams- Specified by:
getDetailedStatusin interfaceLink- Returns:
- more detailed status information
-
disable
public void disable()
Sets the disabled to true such that getNextPacket ignores the received datagrams
-
enable
public void enable()
Sets the disabled to false such that getNextPacket does not ignore the received datagrams
-
isDisabled
public boolean isDisabled()
- Specified by:
isDisabledin interfaceLink
-
getDataInCount
public long getDataInCount()
- Specified by:
getDataInCountin interfaceLink
-
getDataOutCount
public long getDataOutCount()
- Specified by:
getDataOutCountin interfaceLink
-
resetCounters
public void resetCounters()
- Specified by:
resetCountersin interfaceLink
-
setParameterSink
public void setParameterSink(ParameterSink parameterSink)
- Specified by:
setParameterSinkin interfaceParameterDataLink
-
getConfig
public YConfiguration getConfig()
-
-