Package org.yamcs.sle

Class OfflineTmSleLink

java.lang.Object
com.google.common.util.concurrent.AbstractService
All Implemented Interfaces:
com.google.common.util.concurrent.Service, org.yamcs.jsle.user.FrameConsumer, SystemParametersProducer, SleLink, AggregatedDataLink, Link, LinkActionProvider, ParameterDataLink

public class OfflineTmSleLink extends AbstractTmSleLink
Receives TM frames via SLE. The Virtual Channel configuration is identical with the configuration of OfflineTmSleLink.

The SLE specific settings are loaded from sle.yaml based on the sleProvider key specified in the link configuration. The description of the sle.yaml configuration parameters are as follows:

Configuration Parameters
initiatorId identifier of the local application
responderPortId Responder Port Identifier
serviceInstance Used in the bind request to select the instance number of the remote service.This number together with the deliverymode specify the so called service name identifier (raf=onltX where X is the number)
versionNumber the version number is sent in the bind invocation. We only support the version of the SLE valid in April-2019; however this field is not checked.
myUsername username that is passed in outgoing SLE messages. A corresponding password has to be specified (in hexadecimal) in the security.yaml file.
peerUsername username that is used to verify the incoming SLE messages. A corresponding password has to be specified (in hexadecimal) in the security.yaml file.
authLevel one of NONE, BIND or ALL - it configures which incoming and outgoing PDUs contain authentication information.
  • Constructor Details

    • OfflineTmSleLink

      public OfflineTmSleLink()
  • Method Details

    • init

      public void init(String instance, String name, YConfiguration config) throws ConfigurationException
      Specified by:
      init in interface Link
      Overrides:
      init in class AbstractTmFrameLink
      Throws:
      ConfigurationException
    • doStart

      protected void doStart()
      Specified by:
      doStart in class com.google.common.util.concurrent.AbstractService
    • doStop

      protected void doStop()
      Specified by:
      doStop in class com.google.common.util.concurrent.AbstractService
    • acceptFrame

      public void acceptFrame(org.yamcs.jsle.CcsdsTime ert, org.yamcs.jsle.AntennaId antennaId, int dataLinkContinuity, org.yamcs.jsle.Constants.FrameQuality frameQuality, byte[] privAnn, byte[] data)
      Specified by:
      acceptFrame in interface org.yamcs.jsle.user.FrameConsumer
      Overrides:
      acceptFrame in class AbstractTmSleLink
    • doDisable

      protected void doDisable()
      Overrides:
      doDisable in class AbstractLink
    • doEnable

      protected void doEnable() throws Exception
      Overrides:
      doEnable in class AbstractLink
      Throws:
      Exception
    • onEndOfData

      public void onEndOfData()
    • addRequest

      public void addRequest(org.yamcs.jsle.CcsdsTime start, org.yamcs.jsle.CcsdsTime stop)
    • connectionStatus

      protected Link.Status connectionStatus()
      Description copied from class: AbstractTmSleLink
      Verifies that the requested state is the same as the current state
      Overrides:
      connectionStatus in class AbstractTmSleLink
      Returns:
      Status.OK or Status.UNAVAIL
    • getDataOutCount

      public long getDataOutCount()
      Specified by:
      getDataOutCount in interface Link
      Overrides:
      getDataOutCount in class AbstractLink