Package org.yamcs.tctm
Class TcpTcDataLink
java.lang.Object
com.google.common.util.concurrent.AbstractService
org.yamcs.tctm.AbstractLink
org.yamcs.tctm.AbstractTcDataLink
org.yamcs.tctm.AbstractThreadedTcDataLink
org.yamcs.tctm.TcpTcDataLink
- All Implemented Interfaces:
com.google.common.util.concurrent.Service,Runnable,SystemParametersProducer,Link,LinkActionProvider,TcDataLink
Sends raw command packets on TCP socket.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.yamcs.tctm.Link
Link.StatusNested classes/interfaces inherited from interface com.google.common.util.concurrent.Service
com.google.common.util.concurrent.Service.Listener, com.google.common.util.concurrent.Service.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected intprotected Selectorprotected SocketChannelFields inherited from class org.yamcs.tctm.AbstractThreadedTcDataLink
commandQueueFields inherited from class org.yamcs.tctm.AbstractTcDataLink
cmdPostProcessor, commandHistoryPublisher, housekeepingIntervalFields inherited from class org.yamcs.tctm.AbstractLink
config, dataInCount, dataOutCount, disabled, eventProducer, LINK_NAMESPACE, linkName, log, timeService, yamcsInstance -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Link.StatusIn case the link should be connected (i.e. is running and enabled) this method is called to return the actual connection statusprotected voidprotected voidCalled eachAbstractTcDataLink.housekeepingIntervalmilliseconds, can be used to establish tcp connections or similar thingsReturns a short detail status (one-line)getSpec()Returns the valid configuration of the input args of this link.voidinit(String yamcsInstance, String name, YConfiguration config) Called at startup to initialize the link.protected booleanattempts to open the socket if not already open and returns true if its open at the end of the callvoidshutDown()Called at shutdown (if the link is enabled) or when the link is disabledprotected voidstartUp()Called at start up (if the link is enabled) or when the link is enabledvoidCalledMethods inherited from class org.yamcs.tctm.AbstractThreadedTcDataLink
doDisable, doEnable, doStart, doStop, getDefaultSpec, run, sendCommandMethods inherited from class org.yamcs.tctm.AbstractTcDataLink
ackCommand, failedCommand, getDataInCount, initPostprocessor, initPostprocessor2, postprocess, setCommandHistoryPublisherMethods inherited from class org.yamcs.tctm.AbstractLink
addAction, collectSystemParameters, dataIn, dataOut, disable, enable, getAction, getActions, getConfig, getCurrentTime, getDataOutCount, getEventLoop, getLinkStatus, getName, getParent, getSystemParameters, getYamcsInstance, isDisabled, isRunningAndEnabled, resetCounters, setParent, setupSystemParametersMethods inherited from class com.google.common.util.concurrent.AbstractService
addListener, awaitRunning, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, awaitTerminated, doCancelStart, failureCause, isRunning, notifyFailed, notifyStarted, notifyStopped, startAsync, state, stopAsync, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.yamcs.tctm.Link
disable, enable, getConfig, getDataOutCount, getExtraInfo, getLinkStatus, getName, getParent, isDisabled, isEffectivelyDisabled, resetCounters, setParent, setupSystemParametersMethods inherited from interface org.yamcs.parameter.SystemParametersProducer
getFrequencyMethods inherited from interface org.yamcs.tctm.TcDataLink
isCommandingAvailable, isTcDataLinkImplemented
-
Field Details
-
socketChannel
-
host
-
port
protected int port -
selector
-
-
Constructor Details
-
TcpTcDataLink
public TcpTcDataLink()
-
-
Method Details
-
getSpec
Description copied from interface:LinkReturns the valid configuration of the input args of this link.- Returns:
- the argument specification, or
nullif the args should not be validated.
-
init
public void init(String yamcsInstance, String name, YConfiguration config) throws ConfigurationException 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.
- Specified by:
initin interfaceLink- Overrides:
initin classAbstractThreadedTcDataLinkconfig- - the configuration - cannot be null (but can be empty)- Throws:
ConfigurationException
-
openSocket
protected boolean openSocket()attempts to open the socket if not already open and returns true if its open at the end of the call- Returns:
-
disconnect
protected void disconnect() -
getDetailedStatus
Description copied from interface:LinkReturns a short detail status (one-line)- Specified by:
getDetailedStatusin interfaceLink- Overrides:
getDetailedStatusin classAbstractLink
-
startUp
protected void startUp()Description copied from class:AbstractThreadedTcDataLinkCalled at start up (if the link is enabled) or when the link is enabled- Specified by:
startUpin classAbstractThreadedTcDataLink
-
shutDown
Description copied from class:AbstractThreadedTcDataLinkCalled at shutdown (if the link is enabled) or when the link is disabled- Specified by:
shutDownin classAbstractThreadedTcDataLink- Throws:
Exception
-
uplinkCommand
Description copied from class:AbstractThreadedTcDataLinkCalled- Specified by:
uplinkCommandin classAbstractThreadedTcDataLink
-
doHousekeeping
protected void doHousekeeping()Description copied from class:AbstractThreadedTcDataLinkCalled eachAbstractTcDataLink.housekeepingIntervalmilliseconds, can be used to establish tcp connections or similar things- Overrides:
doHousekeepingin classAbstractThreadedTcDataLink
-
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
-