com.r3corda.node.internal.testing / IRSSimulation

# IRSSimulation

`class IRSSimulation : Simulation`

A simulation in which banks execute interest rate swaps with each other, including the fixing events.

### Constructors

<init> | `IRSSimulation(runAsync: Boolean, latencyInjector: LatencyCalculator?)` A simulation in which banks execute interest rate swaps with each other, including the fixing events.

### Properties

om | `val om: <ERROR CLASS>`

### 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>`
currentDay | `var currentDay: LocalDate` 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><LocalDate>`
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.
latencyInjector | `val latencyInjector: LatencyCalculator?`
network | `val network: MockNetwork`
networkMap | `val networkMap: SimulatedNode`
notary | `val notary: SimulatedNode`
ratesOracle | `val ratesOracle: SimulatedNode`
regulators | `val regulators: List<SimulatedNode>`
runAsync | `val runAsync: Boolean`
serviceProviders | `val serviceProviders: List<SimulatedNode>`

### Functions

iterate | `fun iterate(): MessageTransfer?` Iterates the simulation by one step.
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

linkConsensus | `fun linkConsensus(nodes: Collection<SimulatedNode>, protocol: ProtocolLogic<*>): Unit`
linkProtocolProgress | `fun linkProtocolProgress(node: SimulatedNode, protocol: ProtocolLogic<*>): 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`