[JDEV] FreeBSD and MIO
Keith Minkler
keith at digix.dyndns.org
Fri Dec 8 03:23:34 CST 2000
Dennis,
You may be getting the components confused, if I'm reading that right...
lemmi clarify a few terms for the benifit of the list, et all...
Jabberd
-------
Jabberd is simply an XML router. it routes XML packets among known
hostnames.
Base Modules
------------
Base Modules offer jabberd some functionality.. they are used to
describe instances and tell jabberd how to route packets, and
how instances connect to jabberd
some base modules are:
base_load: DSO loader
base_exec: calls other programs.. passes data via STDIN/OUT
base_accept: listens on a port for component connections
base_host: defines a host name to deliver packets to
base_file: writes data to a file
Components
----------
Components are the server modules. the most common components are:
JSM (Jabber Session Manager) -- does session management (can do auth as well)
S2S (Server "2" Server) -- connects to other servers to transmit packets
DNSRV (DNS Resolver) -- provides asyncronys DNS Resolution (without ADNS)
C2S (Client "2" Server) -- the component that listens on 5222 for clients
xdb_file -- the default XDB component.. uses flat files (username.xml) to store data
transports -- transports are all jabberd components
Instances
---------
Defined in the jabberd config file. base modules describe components
and can "instanate" a component.. i.e. load it up, and hook it into
jabberd's deliver process
can be one of 3 types:
xdb -- only gets <xdb/> packets
log -- only gets <log/> packets
service -- gets <route/>, <message/>, <presence/>, and <iq/> packets
MIO will live in jabberd, and yes, a component will have to be a DSO to use it, but,
this doesn't involve JSM at all.. JSM is simply a component that manages Jabber
Sessions.. (Jabber Session Manager)
jabberd can handle a single server with transports running on it.. or you can
spread the components among many different servers, and link jabberd's together
with base_accept and base_connect.
Hope this helps to clear things up!
Keith Minkler
On Fri, Dec 08, 2000 at 10:54:29AM +0200, Dennis Noordsij wrote:
> On a note about MIO, I recall reading somewhere it would require all
> components to be modules linked into jabber? For me the power of jabber is
> being able to run all these parts on different systems and have them talk
> over TCP/IP. I assume my JSM will be too busy routing messages to also have
> all the transports and components running.
>
> Apologies if this has been discussed already and I missed it :-)
>
> Regards,
> Dennis
>
>
> On Friday 08 December 2000 08:55, you wrote:
> > Jdev,
> >
> > I finnaly found the FreeBSD select(2) bug.. (well, my bug, not FreeBSD's)
> > *G*
> >
> > It has to do with differences in how linux and FreeBSD handle select(2)
> > getting interupted by a signal. On Linux, it clears the FD sets you pass
> > into it, but on FreeBSD, it leaves the sets untouched. (Thank GOD for man
> > pages). It is easily fixed by checking the return value of select(2), and
> > not trying to read(2), write(2), or accept(2) from the sockets on an error
> > condition (-1) such as when the loop is signalled.
> >
> > *phew* with much joy, FreeBSD will be able to share in the 1.4 bliss,
> > along with the rest of the community.. *G*
> >
> > Keith Minkler
>
> _______________________________________________
> jdev mailing list
> jdev at jabber.org
> http://mailman.jabber.org/listinfo/jdev
More information about the JDev
mailing list