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]

Reply via email to