On 06/22/2011 09:33 AM, Daniel P. Berrange wrote:
This patch defines the basics of a generic RPC protocol in XDR.
This is wire ABI compatible with the original remote_protocol.x.
It takes everything except for the RPC calls / events from that
protocol
- The basic header virNetMessageHeader (aka remote_message_header)
- The error object virNetMessageError (aka remote_error)
- Two dummy objects virNetMessageDomain & virNetMessageNetwork
sadly needed to keep virNetMessageError ABI compatible with
the old remote_error
The RPC protocol supports method calls, async events and
bidirectional data streams as before
* src/Makefile.am: Add rules for generating RPC code from
protocol & define a new libvirt-net-rpc.la helper library
* src/rpc/virnetprotocol.x: New generic RPC protocol
* src/rpc/virnetprotocol.c, src/rpc/virnetprotocol.h: Generated
from virnetprotocol.x
Now that generated files are not kept in git, do you need to mention
them in this commit message? I guess it doesn't hurt, though.
---
src/Makefile.am | 19 +++-
src/rpc/virnetprotocol.x | 217 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 232 insertions(+), 4 deletions(-)
create mode 100644 src/rpc/virnetprotocol.x
diff --git a/src/Makefile.am b/src/Makefile.am
index 4f9bfc9..93f39fb 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -570,13 +570,11 @@ $(srcdir)/remote/remote_driver.c: $(REMOTE_DRIVER_GENERATED)
endif WITH_REMOTE
-$(srcdir)/remote/%_protocol.c: $(srcdir)/remote/%_protocol.x \
- $(srcdir)/remote/%_protocol.h $(srcdir)/remote/rpcgen_fix.pl
+%protocol.c: %protocol.x %protocol.h $(srcdir)/remote/rpcgen_fix.pl
Nice that we already require GNU make.
+++ b/src/rpc/virnetprotocol.x
@@ -0,0 +1,217 @@
+/* -*- c -*-
+ * virnetprotocol.x: basic protocol for all RPC services.
+ *
+ * Copyright (C) 2006-2010 Red Hat, Inc.
Also 2011.
ACK with the copyright nit fixed.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org