com.r3corda.node.services.api / ServiceHubInternal

ServiceHubInternal

abstract class ServiceHubInternal : ServiceHub


Constructors

<init> ServiceHubInternal()

Properties

monitoringService abstract val monitoringService: MonitoringService
networkService abstract val networkService: MessagingServiceInternal
protocolLogicRefFactory abstract val protocolLogicRefFactory: ProtocolLogicRefFactory

Inherited Properties

clock abstract val clock: Clock
identityService abstract val identityService: IdentityService
keyManagementService abstract val keyManagementService: KeyManagementService
networkMapCache abstract val networkMapCache: NetworkMapCache
schedulerService abstract val schedulerService: SchedulerService
storageService abstract val storageService: StorageService
walletService abstract val walletService: WalletService

Functions

invokeProtocolAsync open fun <T : Any> invokeProtocolAsync(logicType: Class<out ProtocolLogic<T>>, vararg args: Any?): <ERROR CLASS><T>

Will check logicType and args against a whitelist and if acceptable then construct and initiate the protocol.

startProtocol abstract fun <T> startProtocol(loggerName: String, logic: ProtocolLogic<T>): <ERROR CLASS><T>

TODO: borrowing this method from service manager work in another branch. Its required to avoid circular dependency between SMM and the scheduler. That particular problem should also be resolved by the service manager work itself, at which point this method would not be needed (by the scheduler).

Inherited Functions

loadState open fun loadState(stateRef: StateRef): TransactionState<*>

Given a StateRef loads the referenced transaction and looks up the specified output ContractState.

recordTransactions abstract fun recordTransactions(txs: Iterable<SignedTransaction>): Unit

Given a list of SignedTransactions, writes them to the local storage for validated transactions and then sends them to the wallet for further processing.

open fun recordTransactions(vararg txs: SignedTransaction): <ERROR CLASS>

Given some SignedTransactions, writes them to the local storage for validated transactions and then sends them to the wallet for further processing.

Extension Functions

fillWithSomeTestCash fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, outputNotary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 1 })), ownedBy: PublicKey? = null): Wallet

Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them to the wallet. This is intended for unit tests. The cash is issued by DUMMY_CASH_ISSUER and owned by the legal identity key from the storage service.