aboutsummaryrefslogtreecommitdiff
path: root/doc/ivy-java.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ivy-java.sgml')
-rw-r--r--doc/ivy-java.sgml37
1 files changed, 30 insertions, 7 deletions
diff --git a/doc/ivy-java.sgml b/doc/ivy-java.sgml
index 310a733..5408851 100644
--- a/doc/ivy-java.sgml
+++ b/doc/ivy-java.sgml
@@ -75,7 +75,8 @@ library. There is also a section dedicated to this port.
<sect1><title>What is Ivy?</title>
<para>
-Ivy is a software bus designed at <ulink url="http://www.cena.fr/">CENA</ulink> (France). A software bus is a system
+Ivy is a software bus designed at <ulink url="http://www.cena.fr/">CENA</ulink> (France).
+A software bus is a system
that allows software applications to exchange information with the illusion of
broadcasting that information, selection being performed by the receiving
applications. Using a software bus is very similar to dealing with events in a
@@ -108,12 +109,12 @@ The Ivy java library (aka ivy-java or fr.dgac.ivy) is a java package that
allows you to connect applications to an Ivy bus. You can use it to write
applications in java. You can also use it to integrate any thread-safe java
application. So far, this library has been tested and used on a variety of
-java virtual machines (from 1.1.8 to 1.4.0), and on a variety of architectures
+java virtual machines (from 1.1.7 to 1.4.1), and on a variety of architectures
(GNU/Linux, Solaris, Windows NT,XP,2000, MacOSX).
</para>
<para>
-The Ivy C library was originally developed by François-Régis Colin and then
+The Ivy java library was originally developed by François-Régis Colin and then
by Yannick Jestin at CENA. It is maintained by a group at CENA (Toulouse, France)
</para>
</sect2>
@@ -153,7 +154,8 @@ machine to the jar file.
<sect1><title>Your first Ivy application</title>
<para>
-We are going to write a "Hello world translater" for an Ivy bus. The application will subscribe to all messages starting with "Hello", and re-emit them after
+We are going to write a "Hello world translater" for an Ivy bus. The application will
+subscribe to all messages starting with "Hello", and re-emit them after
translating "Hello" into "Bonjour". In addition, the application will quit when
it receives any message containing exactly "Bye".
</para>
@@ -380,6 +382,10 @@ with this name to leave the bus
.bye (or .quit) forces the JPROBE application to exit. This is the same as issing an end of file character on a single input line ( ^D ).
</para></listitem>
<listitem><para>
+.direct client id message sends the direct message to the remote client, using
+the numeric id
+</para></listitem>
+<listitem><para>
.list gives the list of clients seen on the ivy bus
</para></listitem>
<listitem><para>
@@ -391,15 +397,32 @@ check the connectivity.
</para>
</sect2>
+<sect2><title>fr.dgac.ivy.IvyDaemon utility</title>
+<para>
+As the launching and quitting of an ivy bus is a bit slow, it is not
+convenient to spawn an Ivy client each time we want to send a simple message.
+To do so, we can use the IvyDaemon, which is a TCP daemon sitting and waiting
+on the port 3456, and also connected on the default bus. Each time a remote
+application connects to this port, every line read until EOF will be forwarded
+on the bus. The standard port and bus domain can be overriden by command line
+switches. ( java fr.dgac.ivy.IvyDaemon -h ).
+</para>
+
+<para>First, spawn an ivy Damon: $ java fr.dgac.ivy.IvyDaemon</para>
+<para>then, within your shell scripts, use a short tcp connexion ( for instance
+netcat ) : $ echo "hello world" | nc -q 0 localhost 3456
+</para>
+<para>The message will be sent on the default Ivy Bus.</para>
+</sect2>
+
<sect2><title>Direct messages</title>
<para>
Direct messages is an ivy feature allowing the exchange of information between
two ivy clients. It overrides the subscription mechanism, making the exchange
faster ( there is no regexp matching, etc ). However, this features breaks the
software bus metaphor, and should be replaced with the relevant bounded
-regexps, at the cost of a small CPU overhead. So far, the sending of direct
-message is not available from java, but the receiving is available in the
-fr.dgac.Ivy class.
+regexps, at the cost of a small CPU overhead. The full direct message
+mechanism in java has been made available since the ivy-java-1.2.3.
</para>
</sect2>