Packages

class GrpcMediatorInspectionService extends MediatorInspectionService with NamedLogging

The mediator inspection service delivers a stream of finalized verdicts. The verdicts are sorted by the finalization time, which additionally is capped by the watermark tracked via the provided time awaiter. In case the watermark is reached and no new verdicts are found, the stream waits to be notified by the time awaiter when new watermarks are encountered. In practice, the time awaiter follows the observed sequencing.

Notice:While returning the results in order of the request time would be a more natural way to consume the information, this would add significant complexity to the implementation, because of various reasons:

  • a later request could be completed sooner than an earlier requests
  • the inspection service would have to interact with the ongoing mediator state to understand which requests are still pending and not emit verdicts of requests after the oldest pending request

In contrast, using the finalization time for sorting the verdicts is a simple and stable way to deliver all known verdicts purely based on the verdicts persisted in the finalized response store.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GrpcMediatorInspectionService
  2. NamedLogging
  3. MediatorInspectionService
  4. AbstractService
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new GrpcMediatorInspectionService(finalizedResponseStore: FinalizedResponseStore, watermarkTracker: TimeAwaiter, batchSize: PositiveInt, loggerFactory: NamedLoggerFactory)(implicit ec: ExecutionContext)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def loadBatchesAndRespond(queryRange: QueryRange, responseObserver: ServerCallStreamObserver[VerdictsResponse])(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit]

    Load batches of verdicts until the client cancels the response stream

  13. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  14. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    GrpcMediatorInspectionServiceNamedLogging
  15. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  20. def serviceCompanion: ServiceCompanion[MediatorInspectionService]
    Definition Classes
    MediatorInspectionService → AbstractService
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. def verdicts(request: VerdictsRequest, responseObserver: StreamObserver[VerdictsResponse]): Unit

    Loads verdicts from the finalized response store, starting with the optional timestamps or the beginning, if not provided.

    Loads verdicts from the finalized response store, starting with the optional timestamps or the beginning, if not provided. The responses are ordered by the tuple: (verdict.finalizationTime, verdict.recordTime), i.e. the sequencing timestamp of the response that resulted in a finalized response.

    Definition Classes
    GrpcMediatorInspectionServiceMediatorInspectionService
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from NamedLogging

Inherited from AbstractService

Inherited from AnyRef

Inherited from Any

Ungrouped