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
+}