c
com.digitalasset.canton.participant.traffic
TrafficCostEstimator
Companion object TrafficCostEstimator
class TrafficCostEstimator extends NamedLogging
Provides traffic cost estimation of a transaction submission (confirmation request + response) Current assumptions and known limitations: Exact addressing of confirmation request and response depends on whether the executing participant hosts the relevant parties. To simplify, the logic assumes that this node will be the executing participant. This also has an impact on the number of session encryption keys. External signatures number and type impact the final payload size and therefore cost. Hints can be provided to improve accuracy. In the absence of hints, the estimation uses the threshold-first keys registered in the external party's PartyToKeyMapping
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- TrafficCostEstimator
- NamedLogging
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new TrafficCostEstimator(confirmationRequestFactory: TransactionConfirmationRequestFactory, topologyClient: SynchronizerTopologyClientWithInit, synchronizerCrypto: SynchronizerCryptoClient, contractStore: ContractStore, sessionKeyStore: SessionKeyStore, psid: PhysicalSynchronizerId, participantId: ParticipantId, trafficStateController: TrafficStateController, loggerFactory: NamedLoggerFactory)(implicit executionContext: ExecutionContext)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- def estimateTrafficCost(transaction: LfVersionedTransaction, transactionMeta: TransactionMeta, submitterInfo: SubmitterInfo, keyResolver: LfKeyResolver, disclosedContracts: Map[LfContractId, LfFatContractInst], costHints: CostEstimationHints)(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, String, SubmissionCostEstimation]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logger: TracedLogger
- Attributes
- protected
- Definition Classes
- NamedLogging
- val loggerFactory: NamedLoggerFactory
- Attributes
- protected
- Definition Classes
- TrafficCostEstimator → NamedLogging
- implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noTracingLogger: Logger
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()