Class AbstractSleApi<T>

java.lang.Object
org.yamcs.sle.api.AbstractSleApi<T>
All Implemented Interfaces:
Api<T>
Direct Known Subclasses:
SleApi, SleApiClient

@Generated(value="org.yamcs.maven.ServiceGenerator", date="2026-02-25T11:15:10.522431964Z") public abstract class AbstractSleApi<T> extends Object implements Api<T>
  • Constructor Details

    • AbstractSleApi

      public AbstractSleApi()
  • Method Details

    • requestOfflineData

      public abstract void requestOfflineData(T ctx, RequestOfflineDataRequest request, Observer<com.google.protobuf.Empty> observer)
        Request offline data.
       
        This request can be used to obtain offline data from an SLE provider. The
        link has to be of type ``org.yamcs.sle.OfflineTmSleLink``.
       
        ``start`` and ``stop`` are passed as parameters to the RAF-START SLE
        request. The SLE provider will deliver all frames having their Earth
        Reception Time (ERT) in the [start, stop] time interval, both ends are
        inclusive. SLE requires that start is strictly smaller than stop so
        ``start=stop`` is not accepted.
       
        The time passed via API is at nanosecond resolution whereas the time passed
        in the RAF-START SLE request is at microsecond or picosecond resolution
        (depending on the SLE version used).
       
       
        .. rubric:: Leap seconds
       
        Time passed via the API is according to
        the `Timestamp <https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp>`_
        protobuf message and is passed *unsmeared* to the SLE request. This is
        different from the normal requests to Yamcs where the time is transformed
        into internal Yamcs time (but at millisecond resolution!) by performing
        reverse smearing around the leap seconds.
       
        This means that it is not possible to specify a retrieval that starts or
        stops on a leap second. For example ``2016-12-31T23:59:60Z`` will be
        effectively translated into ``2017-01-01T00:00:00Z``.
       
    • cltuThrowEvent

      public abstract void cltuThrowEvent(T ctx, CltuThrowEventRequest request, Observer<CltuThrowEventResponse> observer)
        Invoke a CLTU Throw Event.
       
        The link has to be of type ``org.yamcs.sle.OfflineTmSleLink``.
       
    • getParameter

      public abstract void getParameter(T ctx, GetParameterRequest request, Observer<GetParameterResponse> observer)
        Invoke a SLE Get Parameter.
       
        Can be used for all SLE links but some parameters make sense only for certain links.
       
    • getDescriptorForType

      public final com.google.protobuf.Descriptors.ServiceDescriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface Api<T>
    • getRequestPrototype

      public final com.google.protobuf.Message getRequestPrototype(com.google.protobuf.Descriptors.MethodDescriptor method)
      Specified by:
      getRequestPrototype in interface Api<T>
    • getResponsePrototype

      public final com.google.protobuf.Message getResponsePrototype(com.google.protobuf.Descriptors.MethodDescriptor method)
      Specified by:
      getResponsePrototype in interface Api<T>
    • callMethod

      public final void callMethod(com.google.protobuf.Descriptors.MethodDescriptor method, T ctx, com.google.protobuf.Message request, Observer<com.google.protobuf.Message> future)
      Specified by:
      callMethod in interface Api<T>
    • callMethod

      public final Observer<com.google.protobuf.Message> callMethod(com.google.protobuf.Descriptors.MethodDescriptor method, T ctx, Observer<com.google.protobuf.Message> future)
      Specified by:
      callMethod in interface Api<T>