On Wed, Jun 22, 2011 at 04:33:56PM +0100, Daniel P. Berrange wrote: > To facilitate creation of new daemons providing XDR RPC services, > pull alot of the libvirtd daemon code into a set of reusable > objects. > > * virNetServer: A server contains one or more services which > accept incoming clients. It maintains the list of active > clients. It has a list of RPC programs which can be used > by clients. When clients produce a complete RPC message, > the server passes this onto the corresponding program for > handling, and queues any response back with the client. > > * virNetServerClient: Encapsulates a single client connection. > All I/O for the client is handled, reading & writing RPC > messages. > > * virNetServerProgram: Handles processing and dispatch of > RPC method calls for a single RPC (program,version). > Multiple programs can be registered with the server. > > * virNetServerService: Encapsulates socket(s) listening for > new connections. Each service listens on a single host/port, > but may have multiple sockets if on a dual IPv4/6 host. > > Each new daemon now merely has to define the list of RPC procedures > & their handlers. It does not need to deal with any network related > functionality at all. I very much like this, this is a significant chunk of code though. And well libvirtd won't be using it with the current patch set (well unless I missed it), I would expect a patch trimming the daemon directory and making it use those new pieces of code, unless I missed something. The "advantage" is that we would have immediate testing of that code, the disadvantage being that the libvirtd may get new bugs from the reimplementation. Did I miss something or is the current choice of not using the new APIs for libvird a trade-off ? Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list