blob: 1bde00cfc65f979e2885eb9dc9b9929de9e2ed40 [file] [log] [blame]
// 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 vsync
import (
"v.io/syncbase/v23/services/syncbase/nosql"
)
const (
NoGroupId = GroupId(0)
)
// syncData represents the persistent state of the sync module.
type syncData struct {
Id int64
}
// GroupId is a globally unique SyncGroup ID.
type GroupId uint64
// SyncGroup contains the state of a SyncGroup object.
type SyncGroup struct {
Id GroupId // globally unique identifier generated by Syncbase
Name string // globally unique Vanadium name chosen by app
Version string // "etag" for concurrency control
Spec nosql.SyncGroupSpec // app-given specification
Joiners map[string]nosql.SyncGroupMemberInfo // map of joiners to their metadata
}