[libvirt] [PATCH 0/9] Refactor remote protocol ready for data streams

Daniel P. Berrange berrange at redhat.com
Tue Jul 14 10:16:09 UTC 2009


The current libvirtd remote protocol dispatch code is written in
such a way that assumes the only incoming messages from clients
are method calls. This makes it very hard to support data streams.
This patch series does an incrmental refactoring of alot of code
to allow data streams to be easily wired in.

Daniel P. Berrange (9):
  Split generic RPC message dispatch code out from remote protocol API
    handlers
  Decode incoming request header before invoking dispatch code
  Separate code for encoding outgoing remote message headers
  Change code generator to give async event messages their own postfix
  Move queuing of RPC replies into dispatch code
  Change the way client event loop watches are managed
  Split out code for handling incoming method call messages
  Define an API for registering incoming message dispatch filters
  Rename 'direction' to 'type' in remote_message_header

 qemud/Makefile.am                  |    3 +-
 qemud/dispatch.c                   |  533 ++++++++++++++++++++++++++++++++++++
 qemud/dispatch.h                   |   63 +++++
 qemud/qemud.c                      |  136 ++++++----
 qemud/qemud.h                      |   35 ++-
 qemud/remote.c                     |  442 ++++--------------------------
 qemud/remote.h                     |   72 +++++
 qemud/remote_dispatch_prototypes.h |    7 -
 qemud/remote_dispatch_ret.h        |    1 -
 qemud/remote_dispatch_table.h      |    6 +-
 qemud/remote_generate_stubs.pl     |   23 ++-
 qemud/remote_protocol.c            |    6 +-
 qemud/remote_protocol.h            |   18 +-
 qemud/remote_protocol.x            |   66 ++++--
 src/remote_internal.c              |   18 +-
 15 files changed, 926 insertions(+), 503 deletions(-)
 create mode 100644 qemud/dispatch.c
 create mode 100644 qemud/dispatch.h
 create mode 100644 qemud/remote.h

-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list