com.r3corda.node.internal.testing / TradeSimulation

TradeSimulation

class TradeSimulation : Simulation

Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other, then B and C trade with each other, then C and A etc).



Constructors

<init> TradeSimulation(runAsync: Boolean, latencyInjector: LatencyCalculator?)

Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other, then B and C trade with each other, then C and A etc).

Inherited Properties

allProtocolSteps val allProtocolSteps: <ERROR CLASS><<ERROR CLASS><SimulatedNode, Change>>
bankFactory val bankFactory: BankFactory
bankLocations val bankLocations: <ERROR CLASS>
banks val banks: List<SimulatedNode>
clocks val clocks: <ERROR CLASS>
currentDateAndTime var currentDateAndTime: LocalDateTime

The current simulated date. By default this never changes. If you want it to change, you should do so from within your overridden iterate call. Changes in the current day surface in the dateChanges observable.

dateChanges val dateChanges: <ERROR CLASS><LocalDateTime>
doneSteps val doneSteps: <ERROR CLASS><Collection<SimulatedNode>>
extraNodeLabels val extraNodeLabels: MutableMap<SimulatedNode, String>

A place for simulations to stash human meaningful text about what the node is "thinking", which might appear in the UI somewhere.

network val network: MockNetwork
networkInitialisationFinished val networkInitialisationFinished: <ERROR CLASS><out <ERROR CLASS>>
networkMap val networkMap: SimulatedNode
networkSendManuallyPumped val networkSendManuallyPumped: Boolean
notary val notary: SimulatedNode
ratesOracle val ratesOracle: SimulatedNode
regulators val regulators: List<SimulatedNode>
serviceProviders val serviceProviders: List<SimulatedNode>

Functions

startMainSimulation fun startMainSimulation(): <ERROR CLASS><Unit>

Sub-classes should override this to trigger whatever they want to simulate. This method will be invoked once the network bringup has been simulated.

Inherited Functions

iterate open fun iterate(): MessageTransfer?

Iterates the simulation by one step.

showConsensusFor fun showConsensusFor(nodes: List<SimulatedNode>): Unit
showProgressFor fun showProgressFor(nodes: List<SimulatedNode>): Unit
start fun start(): <ERROR CLASS><Unit>
startTradingCircle fun startTradingCircle(tradeBetween: (Int, Int) -> <ERROR CLASS><out <ERROR CLASS>>): Unit

Given a function that returns a future, iterates that function with arguments like (0, 1), (1, 2), (2, 3) etc each time the returned future completes.

stop fun stop(): Unit