class PingService extends AdminWorkflowService with NamedLogging

Implements the core of the ledger ping service for a participant. The service measures the time needed for a nanobot on the responder to act on a contract created by the initiator.

The main functionality: 1. once instantiated, it automatically starts a Scala Nanobot that responds to pings for this participant 2. it provides a ping method that sends a ping to the given (target) party

Parameters:

Annotations
@SuppressWarnings()
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PingService
  2. NamedLogging
  3. AdminWorkflowService
  4. AutoCloseable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new PingService(connection: LedgerSubmit, adminParty: Party, maxLevelSupported: Long, pingDeduplicationTime: NonNegativeFiniteDuration, isActive: => Boolean, loggerFactory: NamedLoggerFactory, clock: Clock)(implicit ec: ExecutionContext, timeoutScheduler: ScheduledExecutorService)

    adminParty

    P.Party the party on whose behalf to send/respond to pings

    maxLevelSupported

    Long the maximum level we will participate in "Explode / Collapse" Pings

    loggerFactory

    NamedLogger logger

    clock

    Clock clock for regular garbage collection of duplicates and merges

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. val clock: Clock
    Attributes
    protected
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. def close(): Unit
    Definition Classes
    PingService → AutoCloseable
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  14. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    PingServiceNamedLogging
  15. implicit def loggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    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
    @native() @HotSpotIntrinsicCandidate()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. def ping(targetParties: Set[String], validators: Set[String], timeoutMillis: Long, duplicateGracePeriod: Long = 1000, maxLevel: Long = 0, workflowId: Option[daml.ledger.api.refinements.ApiTypes.WorkflowId] = None, id: String = UUID.randomUUID().toString)(implicit traceContext: TraceContext): Future[Result]

    Send a ping to the target party, return round-trip time or a timeout

    Send a ping to the target party, return round-trip time or a timeout

    targetParties

    String the parties to send ping to

    validators

    additional validators (signatories) of the contracts

    timeoutMillis

    Long how long to wait for pong (in milliseconds)

  21. def processCollapse(contracts: Seq[Contract[Collapse]], workflowId: daml.ledger.api.refinements.ApiTypes.WorkflowId)(implicit traceContext: TraceContext): Unit
    Attributes
    protected
  22. def processExplode(explodes: Seq[Contract[Explode]], workflowId: daml.ledger.api.refinements.ApiTypes.WorkflowId)(implicit traceContext: TraceContext): Unit
    Attributes
    protected
  23. def processMerge(contracts: Seq[Contract[Merge]])(implicit traceContext: TraceContext): Unit
    Attributes
    protected
  24. def processProposal(proposals: Seq[Contract[PingProposal]], workflowId: daml.ledger.api.refinements.ApiTypes.WorkflowId)(implicit traceContext: TraceContext): Unit
    Attributes
    protected
  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  29. 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

Inherited from NamedLogging

Inherited from AdminWorkflowService

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped