Class AbstractTimeCorrelationApi<T>

  • All Implemented Interfaces:
    Api<T>
    Direct Known Subclasses:
    TimeCorrelationApiClient

    public abstract class AbstractTimeCorrelationApi<T>
    extends Object
    implements Api<T>
     Methods related to the Time Correlation Service.
     
    • Constructor Detail

      • AbstractTimeCorrelationApi

        public AbstractTimeCorrelationApi()
    • Method Detail

      • getConfig

        public abstract void getConfig​(T ctx,
                                       GetTcoConfigRequest request,
                                       Observer<TcoConfig> observer)
          Get the TCO config
         
          Returns the TCO configuration comprising the accuracy, validity and the fixed delays.
         
      • setConfig

        public abstract void setConfig​(T ctx,
                                       SetTcoConfigRequest request,
                                       Observer<com.google.protobuf.Empty> observer)
          Set the TCO config
         
          Set the TCO configuration. The configuration is not persisted on disk.
         
      • getStatus

        public abstract void getStatus​(T ctx,
                                       GetTcoStatusRequest request,
                                       Observer<TcoStatus> observer)
          Get the TCO status
         
          Returns the TCO status comprising the currently used coefficients, the last computed deviation
          and the last received samples.
         
      • setCoefficients

        public abstract void setCoefficients​(T ctx,
                                             SetCoefficientsRequest request,
                                             Observer<com.google.protobuf.Empty> observer)
          Set the TCO coefficients
         
         Manually set the coefficients to be used for time correlation. These will overwrite 
          the automatic computed coefficients.
         
      • reset

        public abstract void reset​(T ctx,
                                   TcoResetRequest request,
                                   Observer<com.google.protobuf.Empty> observer)
         Reset the time correlation.
         
         The current used TCO coefficients are removed together with all collected samples.
         
      • addTimeOfFlightIntervals

        public abstract void addTimeOfFlightIntervals​(T ctx,
                                                      AddTimeOfFlightIntervalsRequest request,
                                                      Observer<com.google.protobuf.Empty> observer)
          Add intervals for the time of flight calculation.
         
          Each ``[ertStart, ertStop)`` interval contains a polynomial function used to compute the time of flight for the given ``ert``.
          The intervals can overlap and are sorted in descending order of the start time.
          The first (highest start time) interval where the requested ert fits, will be used for the calculation. 
          
          The formula used for calculating the time of flight for a frame/packet received
          at ``ert`` in the ``[ertStart, ertStop)`` interval is:
          
              ``delta = ert - ertStart``
         
              ``tof = polCoef[0] + polCoef[1] * delta + polCoef[2] * delta^2 + ...``
          
          The result of the polynomial is the ``tof`` expressed in seconds.
         
         
      • deleteTimeOfFlightIntervals

        public abstract void deleteTimeOfFlightIntervals​(T ctx,
                                                         DeleteTimeOfFlightIntervalsRequest request,
                                                         Observer<com.google.protobuf.Empty> observer)
          Delete intervals for the time of flight calculation.
         
          All the intervals with the start time
          falling in the requested [start, stop] interval will be removed. 
         
      • 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>