summaryrefslogtreecommitdiff
path: root/doc/ivyd.1
blob: 4b308c61ca3b36b76c5ce9ea6725ef76df0924b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
.\"
.\"	IvyDaemon, an Ivy gateway for short-lived agents
.\"
.\"	Copyright (C) 1999
.\"	Centre d'Études de la Navigation Aérienne
.\"
.\"	man page for ivyd
.\"
.\"	Author(s): Stephane Chatty <chatty@cena.dgac.fr>
.\"
.\"	$Id$
.\"
.\"	Please refer to file version.h for the
.\"	copyright notice regarding this software



.TH IVYD 1 "16 Nov 2001"
.ds )H CENA, France.
.ds ]W V1.1
.UC 4
.SH NAME
ivyd - the Ivy daemon that relays messages to an Ivy bus.
.SH SYNOPSIS
.B "ivyd [-d] [-b bus] [-n procname]"
.SH DESCRIPTION
.B ivyd
is an Ivy agent which binds to a socket and awaits requests from
clients.  Upon receiving a request, it reemits its contents as a message
on the Ivy bus it belongs to. 
.B ivyd
is especially useful for short-lived applications that wish to send
messages on an Ivy bus but cannot stay connected to a bus long enough,
such as a shell script. Many other applications will want to connect directly
to a bus rather than using
.B ivyd,
however.

.SH OPTIONS
.RS
.TP 6
.B -d
Print debug messages, and do not fork from the calling shell.
.TP
.B -b bus
Connect to and reemit messages on the Ivy bus defined by the address
.I bus.
The syntax of bus addresses is
.I [network[,network]][:port],
where
.I port
is the UDP port used to broadcast information on the Ivy bus, and
.I network[,network]
is a set of network addresses on which information is
broadcast. Examples of bus adresses are 192.75:2000, :2001 or 192.75,192.76.
The default port is
.I 2010,
and the default network is
.I 127,
ie. loopback on the
local host.
.TP
.B -n name
Make the process appear as 'name' instead of 'ivyd'

.SH EXAMPLE
.LP
This example launches an ivyd relay to the bus :2010 (port 2010 on local host)
then relays two messages to the bus.
.IP
.B ivyd \-b
.I :2010

.B ivyecho \-b
.I :2010
.I This is message 1

.B ivyecho \-b
.I :2010
.I And this is message 2

.SH CLIENT-SERVER ISSUES
The communication port with clients is chosen dynamically, and registered by
sending an UDP message to the
.B in.ivyd
super-daemon. Clients such as
.B ivyecho
obtain the address by sending a request to the super-daemon.
.B in.ivyd
is often launched at boot time, this is the default behaviour with
Linux packages of ivyd.


.SH LIMITATIONS
The mapping between clients and multiple
.B ivyd
servers is ensured through the port number in the bus address: in the example
above, the
.B ivyecho
client is directed by
.B in.ivyd
to the server that was launched just before because it refers to the bus port
.I 2010.
This means that only one Ivy daemon can run on a given bus.

Another limitation: no server is automatically launched if a client tries to get
a message relayed to a bus for which there is no relay server. You must launch
your servers beforehand.

.SH SEE ALSO
.PP
in.ivyd(8),
ivyecho(1),
Ivy(1)