[Spice-commits] 2 commits - common/client_marshallers.h common/messages.h spice1.proto spice.proto spice-protocol

Yonit Halperin yhalperi at kemper.freedesktop.org
Sun Aug 26 23:15:32 PDT 2012


 common/client_marshallers.h |    1 +
 common/messages.h           |   17 ++++++++++++++++-
 spice-protocol              |    2 +-
 spice.proto                 |   28 +++++++++++++++++++++++++---
 spice1.proto                |   10 +++++++---
 5 files changed, 50 insertions(+), 8 deletions(-)

New commits:
commit c2f58492ad2df22c4eb4e6c04750010113dce567
Author: Yonit Halperin <yhalperi at redhat.com>
Date:   Mon Jul 2 13:23:32 2012 +0300

    support seamless migration
    
    see spice-protocol for more details
    commit 3838ad140a046c4ddf42fef58c9727ecfdc09f9f

diff --git a/common/client_marshallers.h b/common/client_marshallers.h
index 1bd95ae..1da7ff9 100644
--- a/common/client_marshallers.h
+++ b/common/client_marshallers.h
@@ -42,6 +42,7 @@ typedef struct {
     void (*msgc_main_mouse_mode_request)(SpiceMarshaller *m, SpiceMsgcMainMouseModeRequest *msg);
     void (*msgc_main_agent_start)(SpiceMarshaller *m, SpiceMsgcMainAgentStart *msg);
     void (*msgc_main_agent_token)(SpiceMarshaller *m, SpiceMsgcMainAgentTokens *msg);
+    void (*msgc_main_migrate_dst_do_seamless)(SpiceMarshaller *m, SpiceMsgcMainMigrateDstDoSeamless *msg);
     void (*msgc_display_init)(SpiceMarshaller *m, SpiceMsgcDisplayInit *msg);
     void (*msgc_inputs_key_down)(SpiceMarshaller *m, SpiceMsgcKeyDown *msg);
     void (*msgc_inputs_key_up)(SpiceMarshaller *m, SpiceMsgcKeyUp *msg);
diff --git a/common/messages.h b/common/messages.h
index 6df0fc3..95549c8 100644
--- a/common/messages.h
+++ b/common/messages.h
@@ -67,7 +67,7 @@ typedef struct SpiceMsgMainMultiMediaTime {
     uint32_t time;
 } SpiceMsgMainMultiMediaTime;
 
-typedef struct SpiceMsgMainMigrationBegin {
+typedef struct SpiceMigrationDstInfo {
     uint16_t port;
     uint16_t sport;
     uint32_t host_size;
@@ -77,8 +77,21 @@ typedef struct SpiceMsgMainMigrationBegin {
     uint8_t *pub_key_data;
     uint32_t cert_subject_size;
     uint8_t *cert_subject_data;
+} SpiceMigrationDstInfo;
+
+typedef struct SpiceMsgMainMigrationBegin {
+    SpiceMigrationDstInfo dst_info;
 } SpiceMsgMainMigrationBegin;
 
+typedef struct SpiceMsgMainMigrateBeginSeamless {
+    SpiceMigrationDstInfo dst_info;
+    uint32_t src_mig_version;
+} SpiceMsgMainMigrateBeginSeamless;
+
+typedef struct SpiceMsgcMainMigrateDstDoSeamless {
+    uint32_t src_version;
+} SpiceMsgcMainMigrateDstDoSeamless;
+
 typedef struct SpiceMsgMainMigrationSwitchHost {
     uint16_t port;
     uint16_t sport;
diff --git a/spice-protocol b/spice-protocol
index c20bc58..3838ad1 160000
--- a/spice-protocol
+++ b/spice-protocol
@@ -1 +1 @@
-Subproject commit c20bc58c4e44b6403b7e7a9efc4f12dee0fc100e
+Subproject commit 3838ad140a046c4ddf42fef58c9727ecfdc09f9f
diff --git a/spice.proto b/spice.proto
index 271e35d..2ef4dd6 100644
--- a/spice.proto
+++ b/spice.proto
@@ -193,15 +193,19 @@ struct ChannelId {
     uint8 id;
 };
 
-channel MainChannel : BaseChannel {
- server:
-     message {
+struct DstInfo {
 	uint16 port;
 	uint16 sport;
 	uint32 host_size;
 	uint8 *host_data[host_size] @zero_terminated @marshall @nonnull;
 	uint32 cert_subject_size;
 	uint8 *cert_subject_data[cert_subject_size] @zero_terminated @marshall;
+} @ctype(SpiceMigrationDstInfo);
+
+channel MainChannel : BaseChannel {
+ server:
+     message {
+        DstInfo dst_info;
     } @ctype(SpiceMsgMainMigrationBegin) migrate_begin = 101;
 
     Empty migrate_cancel;
@@ -267,6 +271,14 @@ channel MainChannel : BaseChannel {
         uint32 num_tokens;
     } agent_connected_tokens;
 
+    message {
+        DstInfo dst_info;
+        uint32 src_mig_version;
+    } migrate_begin_seamless;
+
+    Empty migrate_dst_seamless_ack;
+    Empty migrate_dst_seamless_nack;
+
  client:
     message {
 	uint64 cache_size;
@@ -293,6 +305,12 @@ channel MainChannel : BaseChannel {
     } @ctype(SpiceMsgcMainAgentTokens) agent_token;
 
     Empty migrate_end;
+
+    message {
+        uint32 src_version;
+    } migrate_dst_do_seamless;
+
+    Empty migrate_connected_seamless;
 };
 
 enum8 clip_type {
diff --git a/spice1.proto b/spice1.proto
index 2ed1058..2d22cdf 100644
--- a/spice1.proto
+++ b/spice1.proto
@@ -161,9 +161,7 @@ struct ChannelId {
     uint8 id;
 };
 
-channel MainChannel : BaseChannel {
- server:
-     message {
+struct DstInfo {
 	uint16 port;
 	uint16 sport;
 	uint32 host_offset @zero;
@@ -173,6 +171,12 @@ channel MainChannel : BaseChannel {
 	uint32 pub_key_size @minor(1);
 	uint8 host_data[host_size] @as_ptr @zero_terminated;
 	uint8 pub_key_data[pub_key_size] @minor(1) @as_ptr @zero_terminated;
+} @ctype(SpiceMigrationDstInfo);
+
+channel MainChannel : BaseChannel {
+ server:
+     message {
+        DstInfo dst_info;
     } @ctype(SpiceMsgMainMigrationBegin) migrate_begin = 101;
 
     Empty migrate_cancel;
commit c6bd210ad0b6eb485fda25426ab9d75253439f54
Author: Yonit Halperin <yhalperi at redhat.com>
Date:   Wed Aug 8 11:06:40 2012 +0300

    add SPICE_MSG_MAIN_AGENT_CONNECTED_TOKENS
    
    The msg is used for setting the number of allocated client tokens when
    we notify the client that the agent is attached.

diff --git a/common/messages.h b/common/messages.h
index b5f3368..6df0fc3 100644
--- a/common/messages.h
+++ b/common/messages.h
@@ -189,6 +189,8 @@ typedef struct SpiceMsgMainAgentTokens {
     uint32_t num_tokens;
 } SpiceMsgMainAgentTokens, SpiceMsgcMainAgentTokens, SpiceMsgcMainAgentStart;
 
+typedef struct SpiceMsgMainAgentTokens SpiceMsgMainAgentConnectedTokens;
+
 typedef struct SpiceMsgcClientInfo {
     uint64_t cache_size;
 } SpiceMsgcClientInfo;
diff --git a/spice-protocol b/spice-protocol
index 473a14b..c20bc58 160000
--- a/spice-protocol
+++ b/spice-protocol
@@ -1 +1 @@
-Subproject commit 473a14b39fd7568e50456c61c95d89c742427ca1
+Subproject commit c20bc58c4e44b6403b7e7a9efc4f12dee0fc100e
diff --git a/spice.proto b/spice.proto
index 29d6a8b..271e35d 100644
--- a/spice.proto
+++ b/spice.proto
@@ -263,6 +263,10 @@ channel MainChannel : BaseChannel {
        uint8 uuid[16];
     } uuid;
 
+    message {
+        uint32 num_tokens;
+    } agent_connected_tokens;
+
  client:
     message {
 	uint64 cache_size;


More information about the Spice-commits mailing list