| // 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. |
| |
| // Types stored locally in the tables of a blobmap, |
| // but may be passed over the wire to other syncbase instances. |
| |
| package localblobstore |
| |
| import "time" |
| |
| import "v.io/x/ref/services/syncbase/server/interfaces" |
| |
| // A BlobMetadata describes information that syncbase stores for a blob it |
| // holds, independent of the actual content. Compare with a Signpost, which |
| // may be stored for a blob that the current device does not hold (and |
| // indicates where it may be found). (See |
| // v.io/x/ref/services/syncbase/server/interfaces/sync_types.vdl for the |
| // Signpost definition.) |
| type BlobMetadata struct { |
| OwnerShares interfaces.BlobSharesBySyncgroup // >0 for any group => syncbase must keep blob. |
| Referenced time.Time // When structured-store reference to blob last seen. |
| Accessed time.Time // Last attempted access. |
| } |
| |
| // A PerSyncgroup is blob-related data stored per syncgroup. |
| // It includes information that helps syncgroup members decide whether |
| // a peer makes a better or worse owner of a blob. |
| type PerSyncgroup struct { |
| Priority interfaces.SgPriority |
| } |