Package org.yamcs.sle

Class AbstractTmSleLink

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
Direct Known Subclasses:
OfflineTmSleLink, TmSleLink

public abstract class AbstractTmSleLink extends AbstractTmFrameLink implements org.yamcs.jsle.user.FrameConsumer, SleLink, ParameterDataLink
Abstract class for the TM SLE links.

It implements the common functionality for Offline and Online links.

  • Field Details

  • Constructor Details

    • AbstractTmSleLink

      public AbstractTmSleLink()
  • Method Details

    • getDefaultSpec

      public Spec getDefaultSpec()
      Specified by:
      getDefaultSpec in interface Link
      Overrides:
      getDefaultSpec in class AbstractTmFrameLink
    • init

      public void init(String instance, String name, YConfiguration config, org.yamcs.jsle.Constants.DeliveryMode deliveryMode) throws ConfigurationException
      parses and validates configuration
      Parameters:
      deliveryMode -
      Throws:
      ConfigurationException - if port is not defined in the configuration
    • connectAndBind

      protected void connectAndBind(boolean startSle)
    • connectionStatus

      protected Link.Status connectionStatus()
      Verifies that the requested state is the same as the current state
      Specified by:
      connectionStatus in class AbstractLink
      Returns:
      Status.OK or Status.UNAVAIL
    • getDetailedStatus

      public String getDetailedStatus()
      Specified by:
      getDetailedStatus in interface Link
      Overrides:
      getDetailedStatus in class AbstractLink
    • getExtraInfo

      public Map<String,Object> getExtraInfo()
      Specified by:
      getExtraInfo in interface Link
    • 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
    • onExcessiveDataBacklog

      public void onExcessiveDataBacklog()
      Specified by:
      onExcessiveDataBacklog in interface org.yamcs.jsle.user.FrameConsumer
    • onProductionStatusChange

      public void onProductionStatusChange(org.yamcs.jsle.Constants.ProductionStatus productionStatusChange)
      Specified by:
      onProductionStatusChange in interface org.yamcs.jsle.user.FrameConsumer
    • onLossFrameSync

      public void onLossFrameSync(org.yamcs.jsle.CcsdsTime time, org.yamcs.jsle.Constants.LockStatus carrier, org.yamcs.jsle.Constants.LockStatus subcarrier, org.yamcs.jsle.Constants.LockStatus symbolSync)
      Specified by:
      onLossFrameSync in interface org.yamcs.jsle.user.FrameConsumer
    • setupSystemParameters

      public void setupSystemParameters(SystemParametersService sps)
      Specified by:
      setupSystemParameters in interface Link
      Overrides:
      setupSystemParameters in class AbstractLink
    • collectSystemParameters

      protected void collectSystemParameters(long time, List<ParameterValue> list)
      Overrides:
      collectSystemParameters in class AbstractLink
    • getParameter

      public CompletableFuture<org.yamcs.jsle.SleParameter> getParameter(org.yamcs.jsle.ParameterName paraName)
      Description copied from interface: SleLink
      Retrieve the value for the parameter from the SLE provider
      Specified by:
      getParameter in interface SleLink
    • isParameterDataLinkImplemented

      public boolean isParameterDataLinkImplemented()
      Specified by:
      isParameterDataLinkImplemented in interface ParameterDataLink
    • setParameterSink

      public void setParameterSink(ParameterSink parameterSink)
      Specified by:
      setParameterSink in interface ParameterDataLink