[JDEV] DSO Interface

Thomas Muldowney temas at box5.net
Fri Oct 20 12:10:08 CDT 2000


Ok I'll summarize the current methods for an agent to interface with the server
First is base_accept, which is similar to the current etherx style, where the
agent connects to the server.  Next is base_connect, which is the opposite, the
server connects to you.  Then we have base_exec, this is the module that will
launch a program and use the stdin and stdout for communications with it. 
Finally you can create a DSO component.

Like we've also mentioned previously we'll probably be moving away from pth
after 1.2

I'm going to work on some docs today, I'll let everyone know how that goes.

--temas

On Fri, Oct 20, 2000 at 11:20:33AM -0500, Shaw Terwilliger wrote:
> 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>
> 
> _______________________________________________
> jdev mailing list
> jdev at jabber.org
> http://mailman.jabber.org/listinfo/jdev
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: not available
URL: <http://mail.jabber.org/pipermail/jdev/attachments/20001020/1ab97606/attachment-0002.pgp>


More information about the JDev mailing list