1. 16 7月, 2009 6 次提交
    • D
      Split out code for handling incoming method call messages · 47cab734
      Daniel P. Berrange 提交于
      The remoteDispatchClientRequest() method is currently hardwired to
      assume there is only one type of incoming message, a method call.
      To allow for alternate types of incoming messags, the code that is
      specific to method calls is being split into a separate method
      remoteDispatchClientCall
      
      * qemud/dispatch.c: Move method call specific code out into
        remoteDispatchClientCall. Add a helper remoteSerializeError
        for returning error messages to client
      47cab734
    • D
      Change the way client event loop watches are managed · af4dad0f
      Daniel P. Berrange 提交于
      The current qemudRegisterClientEvent() code is used both for
      registering the initial socket watch, and updating the already
      registered watch. This causes unneccessary complexity in alot
      of code which only cares about updating existing watches. The
      updating of a watch cannot ever fail, nor is a reference to the
      'qemud_server' object required.
      
      This introduces a new qemudUpdateClientEvent() method for that
      case, allowing the elimination of unneccessary error checking
      and removal of the server back-reference in struct qemud_client.
      
      * qemud/qemud.h: Remove 'server' field from struct qemud_client.
        Add qemudUpdateClientEvent() method. Remove 'update' param
        from qemudRegisterClientEvent method
      * qemud/dispatch.c, qemud/qemud.c, qemud/remote.c: Update alot
        of code to use qemudUpdateClientEvent() instead of
        qemudRegisterClientEvent(). Move more logic from remoteRelayDomainEvent
        into remoteDispatchDomainEventSend.
      af4dad0f
    • D
      Move queuing of RPC replies into dispatch code · c40e14b4
      Daniel P. Berrange 提交于
      This removes an assumption from qemudWorker() code that every
      incoming message will generate a reply.
      
      * qemud/dispatch.c: remoteDispatchClientRequest now has responsibility
        for queuing the reply message to the RPC call
      * qemud/qemud.c: Do not queue the RPC call reply in qemudWorker(),
        allowing remoteDispatchClientRequest() to take care of it
      c40e14b4
    • D
      Separate code for encoding outgoing remote message headers · 852fa7d0
      Daniel P. Berrange 提交于
      Introduces an API for encoding the header field for outgoing messages
      allowing some duplicated code to be eliminated
      
      * qemud/dispatch.c, qemud/dispatch.h: add remoteEncodeClientMessageHeader
        for encoding message header. Update remoteDispatchClientRequest to
        use this method.
      * qemud/remote.c: Update remoteDispatchDomainEventSend to use the
        generic remoteEncodeClientMessageHeader() for encoding event
        message hedaders. Push some logic from remoteRelayDomainEvent
        down into remoteDispatchDomainEventSend.
      852fa7d0
    • D
      Decode incoming request header before invoking dispatch code · 081c6330
      Daniel P. Berrange 提交于
      Separate the decoding of incoming request header out from the
      dispatch code. This will allow later code to making dispatcher
      routing decisions based on the header field data.
      
      * qemud/dispatch.c, qemud/dispatch.h: Add remoteDecodeClientMessageHeader
        API for decoding the header of a client message. Update the
        remoteDispatchClientRequest method to assume a pre-decoded
        header.
      * qemud/qemud.h: Include a 'remote_message_header' field in
        'struct qemud_client_message' for pre-decoded header data
      * qemud/qemud.c: Decode the incoming client message header before
        invoking remoteDispatchClientRequest
      081c6330
    • D
      Split generic RPC message dispatch code out from remote protocol API handlers · a147ef38
      Daniel P. Berrange 提交于
      * po/POTFILES.in: Add qemud/dispatch.c
      * qemud/dispatch.c, qemud/dispatch.h: Generic code handling dispatch of
        RPC messages.
      * qemud/Makefile.am: Add dispatch.c to build
      * qemud/qemud.c: Include dispatch.h
      * qemud/qemud.h: Remove remoteDispatchClientRequest, remoteRelayDomainEvent
        now in dispatch.h
      * qemud/remote.c: Remove remoteDispatchClientRequest, remoteRelayDomainEvent
        now in dispatch.c, and dispatch_args, dispatch_ret, dispatch_fn & dispatch_data
        now in remote.h
      * qemud/remote.h: Add typedefs for dispatch_args, dispatch_ret,
        dispatch_fn, dispath_data. Add remoteGetDispatchData() API
      a147ef38
  2. 27 6月, 2007 6 次提交
  3. 11 6月, 2007 1 次提交
    • R
      Mon Jun 11 12:49:00 BST 2007 Richard W.M. Jones <rjones@redhat.com> · 9172d0ec
      Richard W.M. Jones 提交于
      	* qemud/Makefile.am, qemud/dispatch.c, qemud/dispatch.h,
      	  qemud/internal.h, qemud/protocol.c,
      	  qemud/protocol.h, qemud/protocol.x, qemud/qemud.c:
      	  libvirt_qemud server-side modifications to use
      	  XDR-based protocol instead of homebrew (Dan Berrange).
      	  QEMUD server modified to dispatch calls from remote
      	  clients (Richard Jones).  Added TLS support (Richard Jones).
      	  Added TCP & IPv6 support (Richard Jones).
      	  Additional configuration file, command-line handling, and
      	  usage (Richard Jones).
      	* qemud/conf.c: Remove unnecessary header file.
      9172d0ec
  4. 16 3月, 2007 2 次提交
    • D
      33134578
    • D
      * include/libvirt/libvirt.h[.in] include/libvirt/virterror.h · 635ae389
      Daniel Veillard 提交于
        proxy/libvirt_proxy.c qemud/Makefile.am qemud/conf.c qemud/conf.h
        qemud/dispatch.c qemud/internal.h qemud/protocol.h
        src/driver.h src/internal.h src/libvirt.c src/libvirt_sym.version
        src/proxy_internal.c src/proxy_internal.h src/qemu_internal.c
        src/test.c src/virsh.c src/virterror.c src/xen_internal.c
        src/xen_internal.h src/xend_internal.c src/xm_internal.c
        src/xml.h src/xs_internal.c: applied patch from Richard Jones
        adding virConnectGetCapabilities(), plus various small little
        fixes
      * docs/*: fixed the api extractor script and regenerated
      Daniel
      635ae389
  5. 23 2月, 2007 2 次提交
  6. 17 2月, 2007 1 次提交
    • M
      Fri Feb 16 18:28:32 IST 2007 Mark McLoughlin <markmc@redhat.com> · cfa655f9
      Mark McLoughlin 提交于
              * qemud/qemud.c, qemud/dispatch.c, qemud/internal.h
              qemud/conf.c, qemud/driver.c, configure.in: add a
              qemudLog() function which uses syslog() if we're in daemon
              mode, doesn't output INFO/DEBUG messages unless the
              verbose flag is set and doesn't output DEBUG messages
              unless compiled with --enable-debug. Also, make a first
              pass through fatal errors and add error messages for them.
      cfa655f9
  7. 16 2月, 2007 1 次提交
  8. 15 2月, 2007 2 次提交
  9. 14 2月, 2007 3 次提交