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 void
disable()
Sets the disabled to true such that getNextPacket ignores the received datagramsprotected void
doStart()
protected void
doStop()
void
enable()
Sets the disabled to false such that getNextPacket does not ignore the received datagramsYConfiguration
getConfig()
long
getDataInCount()
long
getDataOutCount()
String
getDetailedStatus()
Returns statistics with the number of datagrams received and the number of invalid datagramsLink.Status
getLinkStatus()
Returns the current link status.String
getName()
Return the name of the linkorg.yamcs.protobuf.Pvalue.ParameterData
getNextData()
Called to retrieve the next packet.void
init(String instance, String name, YConfiguration config)
Called at startup to initialize the link.boolean
isDisabled()
void
resetCounters()
void
run()
void
setParameterSink(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:Link
Called 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:
doStart
in classcom.google.common.util.concurrent.AbstractService
-
doStop
protected void doStop()
- Specified by:
doStop
in 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:Link
Returns the current link status.- Specified by:
getLinkStatus
in interfaceLink
-
getDetailedStatus
public String getDetailedStatus()
Returns statistics with the number of datagrams received and the number of invalid datagrams- Specified by:
getDetailedStatus
in 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:
isDisabled
in interfaceLink
-
getDataInCount
public long getDataInCount()
- Specified by:
getDataInCount
in interfaceLink
-
getDataOutCount
public long getDataOutCount()
- Specified by:
getDataOutCount
in interfaceLink
-
resetCounters
public void resetCounters()
- Specified by:
resetCounters
in interfaceLink
-
setParameterSink
public void setParameterSink(ParameterSink parameterSink)
- Specified by:
setParameterSink
in interfaceParameterDataLink
-
getConfig
public YConfiguration getConfig()
-
-