syncbase/vsync: Handle CreateSyncGroup RPC from client-syncbase.
Change-Id: I24dbc2fb4b556001124ba4e9da00ad763413d619
diff --git a/services/syncbase/server/interfaces/sync.vdl b/services/syncbase/server/interfaces/sync.vdl
new file mode 100644
index 0000000..7421b48
--- /dev/null
+++ b/services/syncbase/server/interfaces/sync.vdl
@@ -0,0 +1,28 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package interfaces
+
+// Sync defines methods for data exchange between Syncbases.
+// TODO(hpucha): Flesh this out further.
+type Sync interface {
+ // GetDeltas returns the responder's current generation vector
+ // and all the missing log records when compared to the
+ // initiator's generation vector.
+ GetDeltas() error
+
+ // SyncGroup-related methods.
+
+ // PublishSyncGroup is typically invoked on a "central" peer
+ // to publish the SyncGroup.
+ PublishSyncGroup(sg SyncGroup) error
+
+ // JoinSyncGroup is invoked on a SyncGroup Admin and checks if
+ // the requestor can join the SyncGroup.
+ JoinSyncGroup() error
+
+ // BlobSync methods.
+ // FetchBlob returns the requested blob.
+ FetchBlob() error
+}