diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2009-05-25 13:02:06 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2009-05-25 13:02:06 +0200 |
commit | 7a7ec37f99f3dd5120952e6ca6263dd72061abb1 (patch) | |
tree | f2054bf445ed844606172346210f244a67db2cc7 /tests/DiagTalker.java | |
parent | aaef9aa018dc030a7b5b2585bad19812ff214fab (diff) | |
download | rsyslog-7a7ec37f99f3dd5120952e6ca6263dd72061abb1.tar.gz rsyslog-7a7ec37f99f3dd5120952e6ca6263dd72061abb1.tar.xz rsyslog-7a7ec37f99f3dd5120952e6ca6263dd72061abb1.zip |
improved testbench / solved imdiag race condition
imdiag/imtcp had a modload race condition (as imdiag is a testing aid,
this has no implications for production deployments). Also, I replaced
netcat by a custom program to talk to imdiag. This, for the first time ever,
is now a Java program. I plan to add some GUI troubleshooting tools and
thought it is a good idea to start doing things in Java that can simply
be done in that language.
Diffstat (limited to 'tests/DiagTalker.java')
-rw-r--r-- | tests/DiagTalker.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/DiagTalker.java b/tests/DiagTalker.java new file mode 100644 index 00000000..e33a5867 --- /dev/null +++ b/tests/DiagTalker.java @@ -0,0 +1,43 @@ +//package com.rsyslog.diag; +import java.io.*; +import java.net.*; + +public class DiagTalker { + public static void main(String[] args) throws IOException { + + Socket diagSocket = null; + PrintWriter out = null; + BufferedReader in = null; + final String host = "127.0.0.1"; + final int port = 13500; + + try { + diagSocket = new Socket(host, port); + out = new PrintWriter(diagSocket.getOutputStream(), true); + in = new BufferedReader(new InputStreamReader( + diagSocket.getInputStream())); + } catch (UnknownHostException e) { + System.err.println("can not resolve " + host + "!"); + System.exit(1); + } catch (IOException e) { + System.err.println("Couldn't get I/O for " + + "the connection to: " + host + "."); + System.exit(1); + } + + BufferedReader stdIn = new BufferedReader( + new InputStreamReader(System.in)); + String userInput; + + while ((userInput = stdIn.readLine()) != null) { + out.println(userInput); + System.out.println("imdiag returns: " + in.readLine()); + } + + out.close(); + in.close(); + stdIn.close(); + diagSocket.close(); + } +} + |