com.r3corda.node.driver / DriverDSL

# DriverDSL

`class DriverDSL : DriverDSLInternalInterface`

### Types

State | `class State`

### Constructors

<init> | `DriverDSL(portAllocation: PortAllocation, debugPortAllocation: PortAllocation, baseDirectory: String, isDebug: Boolean)`

### Properties

baseDirectory | `val baseDirectory: String`
debugPortAllocation | `val debugPortAllocation: PortAllocation`
isDebug | `val isDebug: Boolean`
networkMapCache | `val networkMapCache: InMemoryNetworkMapCache`
portAllocation | `val portAllocation: PortAllocation`

### Functions

registerProcess | `fun registerProcess(process: Process): Unit`
shutdown | `fun shutdown(): Unit`
start | `fun start(): Unit`
startClient | `fun startClient(providedName: String, serverAddress: <ERROR CLASS>): Future<ArtemisMessagingClient>` Starts an ArtemisMessagingClient.
startLocalServer | `fun startLocalServer(): Future<ArtemisMessagingServer>` Starts a local ArtemisMessagingServer of which there may only be one.
startNode | `fun startNode(providedName: String?, advertisedServices: Set<ServiceType>): Future<NodeInfo>` Starts a Node in a separate process.
waitForAllNodesToFinish | `fun waitForAllNodesToFinish(): Unit`

### Companion Object Properties

name | `val name: Array<String>`

### Companion Object Functions

pickA | `fun <A> pickA(array: Array<A>): A`

### Extension Functions

startClient | `fun DriverDSLExposedInterface.startClient(localServer: ArtemisMessagingServer): Future<ArtemisMessagingClient>` `fun DriverDSLExposedInterface.startClient(remoteNodeInfo: NodeInfo, providedName: String? = null): Future<ArtemisMessagingClient>`