[JDEV] DSO Interface

Shaw Terwilliger sterwill at sourcegear.com
Fri Oct 20 11:20:33 CDT 2000


mark at mjwilcox.com wrote:
> Besides DSO you can also write components that spawn a 
> seperate persisent process that comunicates via STDIN/STDOUT 
> or a seperate server. 

This interests me very much.  Working in the DSO space means dealing with
pth (which I like much less than pthreads), and no re-entrant glib functions
(this might be possible, but flipping the right CFLAGS is a pain).

Is there any documentation on the stdin/stdout interface?  Also, since I'm
working with the older jserver code, and the DSO interfaces don't appear to
be in the new tree, I'm assuming the stdin/stdout interface will be easier
to port to new versions of Jabber.

The reason I chose the DSO over running my own server is I need to map
the stateful connection Jabber uses to a stateless one used by an
external client system already in place.  To do this, I have to keep track
of open sessions in my DSO, much like svc_http does, so I need to do more
than pump XML through a Jabber client port.  I need to be able to flip
user presences on and off at will, handle automatic subscription approvals,
receive all messages for logged in users and route them to the other network,
etc.  Because of the large number of "stateless clients" on that existing
network I mentioned (up to 10,000 at a time), writing my own server that 
opens one TCP/IP socket connection per "online" user would be out of the
question.  I took a quick look at svc_mux the other day, and the idea of
multiplexing connections through a single socket occured to me, as an 
alternative to writing my own DSO to handle all session state.  Will the 
stdin/stdout interface let me handle multiple sessions?

-- 
Shaw Terwilliger <sterwill at sourcegear.com>




More information about the JDev mailing list