[JDEV] FreeBSD and MIO
Edward J Becker
Sauron at mediaone.net
Fri Dec 8 11:58:58 CST 2000
Does this mean that in order to handle XDB by a custom component that some
code must be written natively as a .SO ?
I was hoping to have a separate (likely Java) component handle XDB and was
hoping sockets were used for communication. Is this possible? Am I missing
something?
Edward
-----Original Message-----
From: jdev-admin at jabber.org [mailto:jdev-admin at jabber.org]On Behalf Of
Keith Minkler
Sent: Friday, December 08, 2000 4:24 AM
To: jdev at jabber.org
Subject: Re: [JDEV] FreeBSD and MIO
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
_______________________________________________
jdev mailing list
jdev at jabber.org
http://mailman.jabber.org/listinfo/jdev
More information about the JDev
mailing list