com.r3corda.node.internal / AbstractNode

AbstractNode

abstract class AbstractNode

A base node implementation that can be customised either for production (with real implementations that do real I/O), or a mock implementation suitable for unit test environments.



Constructors

<init> AbstractNode(dir: Path, configuration: NodeConfiguration, networkMapService: NodeInfo?, advertisedServices: Set<ServiceType>, platformClock: Clock)

A base node implementation that can be customised either for production (with real implementations that do real I/O), or a mock implementation suitable for unit test environments.

Properties

_servicesThatAcceptUploads val _servicesThatAcceptUploads: ArrayList<AcceptsFileUpload>
advertisedServices val advertisedServices: Set<ServiceType>
api lateinit var api: APIServer
checkpointStorage lateinit var checkpointStorage: CheckpointStorage
configuration val configuration: NodeConfiguration
dir val dir: Path
identity lateinit var identity: IdentityService
inNodeNetworkMapService var inNodeNetworkMapService: NetworkMapService?
inNodeNotaryService var inNodeNotaryService: NotaryService?
info val info: NodeInfo
interestRatesService lateinit var interestRatesService: Service
isPreviousCheckpointsPresent var isPreviousCheckpointsPresent: Boolean
keyManagement lateinit var keyManagement: E2ETestKeyManagementService
log abstract val log: <ERROR CLASS>
net lateinit var net: MessagingService
networkMapRegistrationFuture val networkMapRegistrationFuture: <ERROR CLASS><Unit>
networkMapSeq var networkMapSeq: Long

Sequence number of changes sent to the network map service, when registering/de-registering this node

networkMapService val networkMapService: NodeInfo?
platformClock val platformClock: Clock
scheduler lateinit var scheduler: SchedulerService
serverThread abstract val serverThread: AffinityExecutor
services val services: ServiceHubInternal
servicesThatAcceptUploads val servicesThatAcceptUploads: List<AcceptsFileUpload>
smm lateinit var smm: StateMachineManager
started var started: Boolean

Set to true once start has been successfully called.

storage lateinit var storage: TxWritableStorageService
wallet lateinit var wallet: WalletService

Functions

constructStorageService open fun constructStorageService(attachments: NodeAttachmentService, transactionStorage: TransactionStorage, keypair: KeyPair, identity: Party): StorageServiceImpl
createNodeDir fun createNodeDir(): Unit
findMyLocation open fun findMyLocation(): PhysicalLocation?
generateKeyPair open fun generateKeyPair(): <ERROR CLASS>
initialiseStorageService open fun initialiseStorageService(dir: Path): <ERROR CLASS><TxWritableStorageService, CheckpointStorage>
makeAttachmentStorage fun makeAttachmentStorage(dir: Path): NodeAttachmentService
makeIdentityService open fun makeIdentityService(): IdentityService
makeInterestRatesOracleService open fun makeInterestRatesOracleService(): Unit
makeMessagingService abstract fun makeMessagingService(): MessagingService
makeNetworkMapService open fun makeNetworkMapService(): Unit
makeNotaryService open fun makeNotaryService(type: ServiceType): Unit
noNetworkMapConfigured open fun noNetworkMapConfigured(): <ERROR CLASS><Unit>

This is overriden by the mock node implementation to enable operation without any network map service

setup open fun setup(): AbstractNode

Run any tasks that are needed to ensure the node is in a correct state before running start()

start open fun start(): AbstractNode
startMessagingService abstract fun startMessagingService(): Unit
stop open fun stop(): Unit

Companion Object Properties

PRIVATE_KEY_FILE_NAME val PRIVATE_KEY_FILE_NAME: String
PUBLIC_IDENTITY_FILE_NAME val PUBLIC_IDENTITY_FILE_NAME: String

Inheritors

MockNode class MockNode : AbstractNode
Node class Node : AbstractNode

A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, loads important data off disk and starts listening for connections.