This is an automated email from the ASF dual-hosted git repository. toulmean pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git
commit 2d6c74d41e4f2cb1bf56caa7f8adb19522902019 Author: Antoine Toulme <[email protected]> AuthorDate: Wed Jun 12 16:39:37 2019 -0700 Make the relayer app work --- hobbits-relayer/build.gradle | 1 + .../kotlin/org/apache/tuweni/relayer/RelayerApp.kt | 45 ++++++++++++++-------- .../relayer/RelayerAppCommandlineArguments.kt | 9 +++++ .../org/apache/tuweni/relayer/RelayerAppTest.kt | 2 +- 4 files changed, 39 insertions(+), 18 deletions(-) diff --git a/hobbits-relayer/build.gradle b/hobbits-relayer/build.gradle index b27e0e6..e1386a1 100644 --- a/hobbits-relayer/build.gradle +++ b/hobbits-relayer/build.gradle @@ -33,3 +33,4 @@ dependencies { application { mainClassName = 'org.apache.tuweni.relayer.RelayerApp' } +applicationDefaultJvmArgs = ["-Xms512m", "-Xmx1g"] diff --git a/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerApp.kt b/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerApp.kt index 201eb12..f4a693c 100644 --- a/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerApp.kt +++ b/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerApp.kt @@ -23,24 +23,35 @@ import org.bouncycastle.jce.provider.BouncyCastleProvider import picocli.CommandLine import java.security.Security -internal class RelayerAppCommandlineArguments() { - @CommandLine.Option(names = ["-b", "--bind"], description = ["Endpoint to bind to"]) var bind: String = "" - @CommandLine.Option(names = ["-t", "--to"], description = ["Endpoint to relay to"]) var to: String = "" -} - /** - * Runs a relayer between two hobbits endpoints. + * Relayer application, allowing to set a relay between two hobbits endpoints. + * + * The relayer runs as a Java application using the main method defined herein. */ -fun main(args: Array<String>) { - Security.addProvider(BouncyCastleProvider()) - val opts = CommandLine.populateCommand<RelayerAppCommandlineArguments>(RelayerAppCommandlineArguments(), *args) - val vertx = Vertx.vertx() - val relayer = Relayer(vertx, opts.bind, opts.to, { - System.out.println(it) - }) - Runtime.getRuntime().addShutdownHook(Thread { relayer.stop() - vertx.close() }) - runBlocking { - relayer.start() +class RelayerApp { + companion object { + /** + * Runs a relayer between two hobbits endpoints. + */ + @JvmStatic + fun main(args: Array<String>) { + Security.addProvider(BouncyCastleProvider()) + val opts = CommandLine.populateCommand<RelayerAppCommandlineArguments>(RelayerAppCommandlineArguments(), *args) + if (opts.help) { + CommandLine(opts).usage(System.out) + System.exit(0) + } + val vertx = Vertx.vertx() + val relayer = Relayer(vertx, opts.bind, opts.to, { + System.out.println(it) + }) + Runtime.getRuntime().addShutdownHook(Thread { relayer.stop() + vertx.close() }) + runBlocking { + relayer.start() + } + } } } + + diff --git a/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerAppCommandlineArguments.kt b/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerAppCommandlineArguments.kt new file mode 100644 index 0000000..fb654c0 --- /dev/null +++ b/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerAppCommandlineArguments.kt @@ -0,0 +1,9 @@ +package org.apache.tuweni.relayer + +import picocli.CommandLine + +internal class RelayerAppCommandlineArguments() { + @CommandLine.Option(names = ["-b", "--bind"], description = ["Endpoint to bind to"]) var bind: String = "" + @CommandLine.Option(names = ["-t", "--to"], description = ["Endpoint to relay to"]) var to: String = "" + @CommandLine.Option(names = ["-h", "--help"], description = ["Prints usage prompt"]) var help: Boolean = false +} diff --git a/hobbits-relayer/src/test/kotlin/org/apache/tuweni/relayer/RelayerAppTest.kt b/hobbits-relayer/src/test/kotlin/org/apache/tuweni/relayer/RelayerAppTest.kt index d7d38a1..a92b65e 100644 --- a/hobbits-relayer/src/test/kotlin/org/apache/tuweni/relayer/RelayerAppTest.kt +++ b/hobbits-relayer/src/test/kotlin/org/apache/tuweni/relayer/RelayerAppTest.kt @@ -37,7 +37,7 @@ class RelayerAppTest { val ref = AtomicReference<Message>() val client1 = HobbitsTransport(vertx) val client2 = HobbitsTransport(vertx) - main(arrayOf("-b", "tcp://localhost:12000", "-t", "tcp://0.0.0.0:10000")) + RelayerApp.main(arrayOf("-b", "tcp://localhost:12000", "-t", "tcp://0.0.0.0:10000")) runBlocking { client1.createTCPEndpoint("foo", port = 10000, handler = ref::set) client1.start() --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
