Interface Link

All Known Subinterfaces:
AggregatedDataLink, ParameterDataLink, TcDataLink, TmPacketDataLink
All Known Implementing Classes:
AbstractIntegrationTest.PacketProvider, AbstractIntegrationTest.ParameterProvider, AbstractIntegrationTest.TcDataLink, AbstractLink, AbstractParameterDataLink, AbstractTcDataLink, AbstractTcFrameLink, AbstractTcTmParamLink, AbstractThreadedTcDataLink, AbstractTmDataLink, AbstractTmFrameLink, Cop1TcPacketHandler, FilePollingTmDataLink, TcPacketHandler, TcpTcDataLink, TcpTcTmDataLink, TcpTmDataLink, TseDataLink, UdpParameterDataLink, UdpTcDataLink, UdpTcFrameLink, UdpTcTmDataLink, UdpTmDataLink, UdpTmFrameLink, VcTmPacketHandler, YamcsEventLink, YamcsLink, YamcsParameterLink, YamcsTcLink, YamcsTmArchiveLink, YamcsTmLink

public interface Link
A source of data into yamcs; Currently TM, TC and Parameter
  • Method Details

    • getLinkStatus

      Link.Status getLinkStatus()
      Returns the current link status.
    • getDetailedStatus

      default String getDetailedStatus()
      Returns a short detail status (one-line)
    • getExtraInfo

      default Map<String,Object> getExtraInfo()
      Returns structured information, specific to the link.
    • enable

      void enable()
      Reenable the data transit if disabled by the disable() method.
    • disable

      void disable()
      Disable any data I/O through this link. Any connection to a server is closed. Can be reenabled using the enable method. Note that this method can be called before starting the service if it's configured as such in the configuration file
    • isDisabled

      boolean isDisabled()
      return true if the link has been disabled by the user.

      See also isEffectivelyDisabled()

    • isEffectivelyDisabled

      default boolean isEffectivelyDisabled()
      return true if this link or its parent (in case of a sub-link part of an aggregated link) is disabled
    • getDataInCount

      long getDataInCount()
    • getDataOutCount

      long getDataOutCount()
    • resetCounters

      void resetCounters()
    • getName

      String getName()
      Return the name of the link
    • getConfig

      YConfiguration getConfig()
      Returns:
      the config (args) used when creating the link
    • getParent

      default AggregatedDataLink getParent()
      If this link is a sublink of an aggregated link, get the parent link.
    • setParent

      default void setParent(AggregatedDataLink parent)
      Set the parent link if this is a sublink of an aggregated link.
    • setupSystemParameters

      default void setupSystemParameters(SystemParametersService sysParamCollector)
      Called by the LinkManager before startup if the SystemParametersService service is enabled, to setup necessary things for later parameter collection.

      The method is called only on the links that implement the SystemParametersProducer interface; they are also registered with the SystemParametersService to be called regularly after the start.

    • init

      default void init(String yamcsInstance, String linkName, YConfiguration config)
      Called at startup to initialize the link.

      The config corresponds to the map that is under the link definition in yamcs.instance.yaml.

      Parameters:
      yamcsInstance -
      linkName -
      config - - the configuration - cannot be null (but can be empty)
    • getSpec

      default Spec getSpec()
      Returns the valid configuration of the input args of this link.
      Returns:
      the argument specification, or null if the args should not be validated.
    • getDefaultSpec

      default Spec getDefaultSpec()
      Returns a default link Spec. This can be used in an implementation of {getSpec(). Eventually (after a few years), it is expected to migrate this logic directly into {LinkgetSpec(), rather than returning null from there. But we want to give sufficient time for links everywhere to start defining their arguments.