net.corda.node.driver

## Class Driver

- net.corda.node.driver.Driver

-     public class Driver

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static com.google.common.util.concurrent.ListenableFuture<kotlin.Unit>` | `addressMustBeBound(java.util.concurrent.ScheduledExecutorService executorService, com.google.common.net.HostAndPort hostAndPort)`
    `static com.google.common.util.concurrent.ListenableFuture<kotlin.Unit>` | `addressMustNotBeBound(java.util.concurrent.ScheduledExecutorService executorService, com.google.common.net.HostAndPort hostAndPort)`
    `static <A> A` | `driver(boolean isDebug, java.nio.file.Path driverDirectory, PortAllocation portAllocation, PortAllocation debugPortAllocation, boolean useTestClock, kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)` driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")
    `static <A> A` | `driver(boolean isDebug, java.nio.file.Path driverDirectory, PortAllocation portAllocation, PortAllocation debugPortAllocation, kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)` driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")
    `static <A> A` | `driver(boolean isDebug, java.nio.file.Path driverDirectory, PortAllocation portAllocation, kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)` driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")
    `static <A> A` | `driver(boolean isDebug, java.nio.file.Path driverDirectory, kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)` driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")
    `static <A> A` | `driver(boolean isDebug, kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)` driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")
    `static <A> A` | `driver(kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)` driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")
    `static <DI extends DriverDSLExposedInterface,D extends DriverDSLInternalInterface,A> A` | `genericDriver(D driverDsl, kotlin.jvm.functions.Function1<? super D,? extends DI> coerce, kotlin.jvm.functions.Function1<? super DI,? extends A> dsl)` This is a helper method to allow extending of the DSL, along the lines of interface SomeOtherExposedDSLInterface : DriverDSLExposedInterface interface SomeOtherInternalDSLInterface : DriverDSLInternalInterface, SomeOtherExposedDSLInterface class SomeOtherDSL(val driverDSL : DriverDSL) : DriverDSLInternalInterface by driverDSL, SomeOtherInternalDSLInterface
    `static java.lang.String` | `getTimestampAsDirectoryName()`
    `static void` | `writeConfig(java.nio.file.Path path, java.lang.String filename, com.typesafe.config.Config config)`

- - ### Method Detail

    - #### driver

          public static <A> A driver(boolean isDebug,
                                     java.nio.file.Path driverDirectory,
                                     PortAllocation portAllocation,
                                     PortAllocation debugPortAllocation,
                                     boolean useTestClock,
                                     kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)

      driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")

      ``

              (...)

      }

      Note that DriverDSL.startNode does not wait for the node to start up synchronously, but rather returns a Future of the `class NodeInfo` that may be waited on, which completes when the new node registered with the network map service.

      The driver implicitly bootstraps a `interface NetworkMapService`.

      Parameters:
        `driverDirectory` - The base directory node directories go into, defaults to "build//". The node directories themselves are "//", where legalName defaults to "-" and may be specified in DriverDSL.startNode.
        `portAllocation` - The port allocation strategy to use for the messaging and the web server addresses. Defaults to incremental.
        `debugPortAllocation` - The port allocation strategy to use for jvm debugging. Defaults to incremental.
        `useTestClock` - If true the test clock will be used in Node.
        `isDebug` - Indicates whether the spawned nodes should start in jdwt debug mode and have debug level logging.
        `dsl` - The dsl itself.
      Returns:
        The value returned in the dsl closure.
      See Also:
        Future, `class NodeInfo`, `interface NetworkMapService`

    - #### driver

          public static <A> A driver(boolean isDebug,
                                     java.nio.file.Path driverDirectory,
                                     PortAllocation portAllocation,
                                     PortAllocation debugPortAllocation,
                                     kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)

      driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")

      ``

              (...)

      }

      Note that DriverDSL.startNode does not wait for the node to start up synchronously, but rather returns a Future of the `class NodeInfo` that may be waited on, which completes when the new node registered with the network map service.

      The driver implicitly bootstraps a `interface NetworkMapService`.

      Parameters:
        `driverDirectory` - The base directory node directories go into, defaults to "build//". The node directories themselves are "//", where legalName defaults to "-" and may be specified in DriverDSL.startNode.
        `portAllocation` - The port allocation strategy to use for the messaging and the web server addresses. Defaults to incremental.
        `debugPortAllocation` - The port allocation strategy to use for jvm debugging. Defaults to incremental.
        `isDebug` - Indicates whether the spawned nodes should start in jdwt debug mode and have debug level logging.
        `dsl` - The dsl itself.
      Returns:
        The value returned in the dsl closure.
      See Also:
        Future, `class NodeInfo`, `interface NetworkMapService`

    - #### driver

          public static <A> A driver(boolean isDebug,
                                     java.nio.file.Path driverDirectory,
                                     PortAllocation portAllocation,
                                     kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)

      driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")

      ``

              (...)

      }

      Note that DriverDSL.startNode does not wait for the node to start up synchronously, but rather returns a Future of the `class NodeInfo` that may be waited on, which completes when the new node registered with the network map service.

      The driver implicitly bootstraps a `interface NetworkMapService`.

      Parameters:
        `driverDirectory` - The base directory node directories go into, defaults to "build//". The node directories themselves are "//", where legalName defaults to "-" and may be specified in DriverDSL.startNode.
        `portAllocation` - The port allocation strategy to use for the messaging and the web server addresses. Defaults to incremental.
        `isDebug` - Indicates whether the spawned nodes should start in jdwt debug mode and have debug level logging.
        `dsl` - The dsl itself.
      Returns:
        The value returned in the dsl closure.
      See Also:
        Future, `class NodeInfo`, `interface NetworkMapService`

    - #### driver

          public static <A> A driver(boolean isDebug,
                                     java.nio.file.Path driverDirectory,
                                     kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)

      driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")

      ``

              (...)

      }

      Note that DriverDSL.startNode does not wait for the node to start up synchronously, but rather returns a Future of the `class NodeInfo` that may be waited on, which completes when the new node registered with the network map service.

      The driver implicitly bootstraps a `interface NetworkMapService`.

      Parameters:
        `driverDirectory` - The base directory node directories go into, defaults to "build//". The node directories themselves are "//", where legalName defaults to "-" and may be specified in DriverDSL.startNode.
        `isDebug` - Indicates whether the spawned nodes should start in jdwt debug mode and have debug level logging.
        `dsl` - The dsl itself.
      Returns:
        The value returned in the dsl closure.
      See Also:
        Future, `class NodeInfo`, `interface NetworkMapService`

    - #### driver

          public static <A> A driver(boolean isDebug,
                                     kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)

      driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")

      ``

              (...)

      }

      Note that DriverDSL.startNode does not wait for the node to start up synchronously, but rather returns a Future of the `class NodeInfo` that may be waited on, which completes when the new node registered with the network map service.

      The driver implicitly bootstraps a `interface NetworkMapService`.

      Parameters:
        `isDebug` - Indicates whether the spawned nodes should start in jdwt debug mode and have debug level logging.
        `dsl` - The dsl itself.
      Returns:
        The value returned in the dsl closure.
      See Also:
        Future, `class NodeInfo`, `interface NetworkMapService`

    - #### driver

          public static <A> A driver(kotlin.jvm.functions.Function1<? super net.corda.node.driver.DriverDSLExposedInterface,? extends A> dsl)

      driver allows one to start up nodes like this: driver { val noService = startNode("NoService") val notary = startNode("Notary")

      ``

              (...)

      }

      Note that DriverDSL.startNode does not wait for the node to start up synchronously, but rather returns a Future of the `class NodeInfo` that may be waited on, which completes when the new node registered with the network map service.

      The driver implicitly bootstraps a `interface NetworkMapService`.

      Parameters:
        `dsl` - The dsl itself.
      Returns:
        The value returned in the dsl closure.
      See Also:
        Future, `class NodeInfo`, `interface NetworkMapService`

    - #### genericDriver

          public static <DI extends DriverDSLExposedInterface,D extends DriverDSLInternalInterface,A> A genericDriver(D driverDsl,
                                                                                                                      kotlin.jvm.functions.Function1<? super D,? extends DI> coerce,
                                                                                                                      kotlin.jvm.functions.Function1<? super DI,? extends A> dsl)

      This is a helper method to allow extending of the DSL, along the lines of interface SomeOtherExposedDSLInterface : DriverDSLExposedInterface interface SomeOtherInternalDSLInterface : DriverDSLInternalInterface, SomeOtherExposedDSLInterface class SomeOtherDSL(val driverDSL : DriverDSL) : DriverDSLInternalInterface by driverDSL, SomeOtherInternalDSLInterface

      Parameters:
        `coerce` - We need this explicit coercion witness because we can't put an extra DI : D bound in a `where` clause.

    - #### getTimestampAsDirectoryName

          public static java.lang.String getTimestampAsDirectoryName()

    - #### addressMustBeBound

          public static com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> addressMustBeBound(java.util.concurrent.ScheduledExecutorService executorService,
                                                                                                           com.google.common.net.HostAndPort hostAndPort)

    - #### addressMustNotBeBound

          public static com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> addressMustNotBeBound(java.util.concurrent.ScheduledExecutorService executorService,
                                                                                                              com.google.common.net.HostAndPort hostAndPort)

    - #### writeConfig

          public static void writeConfig(java.nio.file.Path path,
                                         java.lang.String filename,
                                         com.typesafe.config.Config config)