pkg syncbase, const DeleteChange ChangeType
pkg syncbase, const EntityCollection EntityType
pkg syncbase, const EntityRoot EntityType
pkg syncbase, const EntityRow EntityType
pkg syncbase, const PutChange ChangeType
pkg syncbase, func NewService(string) Service
pkg syncbase, func NewValue(*context.T, interface{}) (*Value, error)
pkg syncbase, func Prefix(string) PrefixRange
pkg syncbase, func Range(string, string) RowRange
pkg syncbase, func RunInBatch(*context.T, Database, wire.BatchOptions, func(BatchDatabase) error) error
pkg syncbase, func SingleRow(string) RowRange
pkg syncbase, func ToWatchChange(watch.Change) WatchChange
pkg syncbase, func UUID() string
pkg syncbase, method (*Conflict) VDLRead(vdl.Decoder) error
pkg syncbase, method (*ConflictRow) VDLRead(vdl.Decoder) error
pkg syncbase, method (*ConflictRowSet) VDLRead(vdl.Decoder) error
pkg syncbase, method (*ConflictScanSet) VDLRead(vdl.Decoder) error
pkg syncbase, method (*Resolution) VDLRead(vdl.Decoder) error
pkg syncbase, method (*ResolvedRow) VDLRead(vdl.Decoder) error
pkg syncbase, method (*Value) Get(interface{}) error
pkg syncbase, method (*Value) VDLRead(vdl.Decoder) error
pkg syncbase, method (*WatchChange) CollectionInfo() *wire.StoreChangeCollectionInfo
pkg syncbase, method (*WatchChange) Value(interface{}) error
pkg syncbase, method (Conflict) VDLIsZero() bool
pkg syncbase, method (Conflict) VDLWrite(vdl.Encoder) error
pkg syncbase, method (ConflictRow) VDLIsZero() bool
pkg syncbase, method (ConflictRow) VDLWrite(vdl.Encoder) error
pkg syncbase, method (ConflictRowSet) VDLIsZero() bool
pkg syncbase, method (ConflictRowSet) VDLWrite(vdl.Encoder) error
pkg syncbase, method (ConflictScanSet) VDLIsZero() bool
pkg syncbase, method (ConflictScanSet) VDLWrite(vdl.Encoder) error
pkg syncbase, method (Resolution) VDLIsZero() bool
pkg syncbase, method (Resolution) VDLWrite(vdl.Encoder) error
pkg syncbase, method (ResolvedRow) VDLIsZero() bool
pkg syncbase, method (ResolvedRow) VDLWrite(vdl.Encoder) error
pkg syncbase, method (Value) VDLIsZero() bool
pkg syncbase, method (Value) VDLWrite(vdl.Encoder) error
pkg syncbase, type BatchDatabase interface { Abort, Collection, CollectionForId, Commit, Exec, FullName, GetResumeMarker, Id, ListCollections }
pkg syncbase, type BatchDatabase interface, Abort(*context.T) error
pkg syncbase, type BatchDatabase interface, Collection(*context.T, string) Collection
pkg syncbase, type BatchDatabase interface, CollectionForId(wire.Id) Collection
pkg syncbase, type BatchDatabase interface, Commit(*context.T) error
pkg syncbase, type BatchDatabase interface, Exec(*context.T, string, ...interface{}) ([]string, ResultStream, error)
pkg syncbase, type BatchDatabase interface, FullName() string
pkg syncbase, type BatchDatabase interface, GetResumeMarker(*context.T) (watch.ResumeMarker, error)
pkg syncbase, type BatchDatabase interface, Id() wire.Id
pkg syncbase, type BatchDatabase interface, ListCollections(*context.T) ([]wire.Id, error)
pkg syncbase, type Blob interface { Commit, Delete, Fetch, Get, Keep, Pin, Put, Ref, Size, Unpin }
pkg syncbase, type Blob interface, Commit(*context.T) error
pkg syncbase, type Blob interface, Delete(*context.T) error
pkg syncbase, type Blob interface, Fetch(*context.T, uint64) (BlobStatus, error)
pkg syncbase, type Blob interface, Get(*context.T, int64) (BlobReader, error)
pkg syncbase, type Blob interface, Keep(*context.T, uint64) error
pkg syncbase, type Blob interface, Pin(*context.T) error
pkg syncbase, type Blob interface, Put(*context.T) (BlobWriter, error)
pkg syncbase, type Blob interface, Ref() wire.BlobRef
pkg syncbase, type Blob interface, Size(*context.T) (int64, error)
pkg syncbase, type Blob interface, Unpin(*context.T) error
pkg syncbase, type BlobReader interface { Advance, Cancel, Err, Value }
pkg syncbase, type BlobReader interface, Advance() bool
pkg syncbase, type BlobReader interface, Cancel()
pkg syncbase, type BlobReader interface, Err() error
pkg syncbase, type BlobReader interface, Value() []byte
pkg syncbase, type BlobStatus interface { Advance, Cancel, Err, Value }
pkg syncbase, type BlobStatus interface, Advance() bool
pkg syncbase, type BlobStatus interface, Cancel()
pkg syncbase, type BlobStatus interface, Err() error
pkg syncbase, type BlobStatus interface, Value() wire.BlobFetchStatus
pkg syncbase, type BlobWriter interface { Close, Send }
pkg syncbase, type BlobWriter interface, Close() error
pkg syncbase, type BlobWriter interface, Send([]byte) error
pkg syncbase, type ChangeType uint32
pkg syncbase, type Collection interface { Create, Delete, DeleteRange, Destroy, Exists, FullName, Get, GetPermissions, Id, Put, Row, Scan, SetPermissions }
pkg syncbase, type Collection interface, Create(*context.T, access.Permissions) error
pkg syncbase, type Collection interface, Delete(*context.T, string) error
pkg syncbase, type Collection interface, DeleteRange(*context.T, RowRange) error
pkg syncbase, type Collection interface, Destroy(*context.T) error
pkg syncbase, type Collection interface, Exists(*context.T) (bool, error)
pkg syncbase, type Collection interface, FullName() string
pkg syncbase, type Collection interface, Get(*context.T, string, interface{}) error
pkg syncbase, type Collection interface, GetPermissions(*context.T) (access.Permissions, error)
pkg syncbase, type Collection interface, Id() wire.Id
pkg syncbase, type Collection interface, Put(*context.T, string, interface{}) error
pkg syncbase, type Collection interface, Row(string) Row
pkg syncbase, type Collection interface, Scan(*context.T, RowRange) ScanStream
pkg syncbase, type Collection interface, SetPermissions(*context.T, access.Permissions) error
pkg syncbase, type Conflict struct
pkg syncbase, type Conflict struct, Batches map[uint64]syncbase.BatchInfo
pkg syncbase, type Conflict struct, ReadSet *ConflictRowSet
pkg syncbase, type Conflict struct, ScanSet *ConflictScanSet
pkg syncbase, type Conflict struct, WriteSet *ConflictRowSet
pkg syncbase, type ConflictResolver interface { OnConflict }
pkg syncbase, type ConflictResolver interface, OnConflict(*context.T, *Conflict) Resolution
pkg syncbase, type ConflictRow struct
pkg syncbase, type ConflictRow struct, AncestorValue Value
pkg syncbase, type ConflictRow struct, BatchIds []uint64
pkg syncbase, type ConflictRow struct, Key string
pkg syncbase, type ConflictRow struct, LocalValue Value
pkg syncbase, type ConflictRow struct, RemoteValue Value
pkg syncbase, type ConflictRowSet struct
pkg syncbase, type ConflictRowSet struct, ByBatch map[uint64][]ConflictRow
pkg syncbase, type ConflictRowSet struct, ByKey map[string]ConflictRow
pkg syncbase, type ConflictScanSet struct
pkg syncbase, type ConflictScanSet struct, ByBatch map[uint64][]syncbase.ScanOp
pkg syncbase, type Database interface, BeginBatch(*context.T, wire.BatchOptions) (BatchDatabase, error)
pkg syncbase, type Database interface, Blob(wire.BlobRef) Blob
pkg syncbase, type Database interface, Close()
pkg syncbase, type Database interface, Collection(*context.T, string) Collection
pkg syncbase, type Database interface, CollectionForId(wire.Id) Collection
pkg syncbase, type Database interface, Create(*context.T, access.Permissions) error
pkg syncbase, type Database interface, CreateBlob(*context.T) (Blob, error)
pkg syncbase, type Database interface, Destroy(*context.T) error
pkg syncbase, type Database interface, EnforceSchema(*context.T) error
pkg syncbase, type Database interface, Exec(*context.T, string, ...interface{}) ([]string, ResultStream, error)
pkg syncbase, type Database interface, Exists(*context.T) (bool, error)
pkg syncbase, type Database interface, FullName() string
pkg syncbase, type Database interface, GetResumeMarker(*context.T) (watch.ResumeMarker, error)
pkg syncbase, type Database interface, Id() wire.Id
pkg syncbase, type Database interface, ListCollections(*context.T) ([]wire.Id, error)
pkg syncbase, type Database interface, ListSyncgroups(*context.T) ([]wire.Id, error)
pkg syncbase, type Database interface, PauseSync(*context.T) error
pkg syncbase, type Database interface, ResumeSync(*context.T) error
pkg syncbase, type Database interface, Syncgroup(*context.T, string) Syncgroup
pkg syncbase, type Database interface, SyncgroupForId(wire.Id) Syncgroup
pkg syncbase, type Database interface, Watch(*context.T, watch.ResumeMarker, []wire.CollectionRowPattern) WatchStream
pkg syncbase, type Database interface, unexported methods
pkg syncbase, type DatabaseHandle interface { Collection, CollectionForId, Exec, FullName, GetResumeMarker, Id, ListCollections }
pkg syncbase, type DatabaseHandle interface, Collection(*context.T, string) Collection
pkg syncbase, type DatabaseHandle interface, CollectionForId(wire.Id) Collection
pkg syncbase, type DatabaseHandle interface, Exec(*context.T, string, ...interface{}) ([]string, ResultStream, error)
pkg syncbase, type DatabaseHandle interface, FullName() string
pkg syncbase, type DatabaseHandle interface, GetResumeMarker(*context.T) (watch.ResumeMarker, error)
pkg syncbase, type DatabaseHandle interface, Id() wire.Id
pkg syncbase, type DatabaseHandle interface, ListCollections(*context.T) ([]wire.Id, error)
pkg syncbase, type EntityType uint32
pkg syncbase, type PrefixRange interface { Limit, Prefix, Start }
pkg syncbase, type PrefixRange interface, Limit() string
pkg syncbase, type PrefixRange interface, Prefix() string
pkg syncbase, type PrefixRange interface, Start() string
pkg syncbase, type Resolution struct
pkg syncbase, type Resolution struct, ResultSet map[string]ResolvedRow
pkg syncbase, type ResolvedRow struct
pkg syncbase, type ResolvedRow struct, Key string
pkg syncbase, type ResolvedRow struct, Result *Value
pkg syncbase, type ResultStream interface { Advance, Cancel, Err, Result, ResultCount }
pkg syncbase, type ResultStream interface, Advance() bool
pkg syncbase, type ResultStream interface, Cancel()
pkg syncbase, type ResultStream interface, Err() error
pkg syncbase, type ResultStream interface, Result(int, interface{}) error
pkg syncbase, type ResultStream interface, ResultCount() int
pkg syncbase, type Row interface { Delete, Exists, FullName, Get, Key, Put }
pkg syncbase, type Row interface, Delete(*context.T) error
pkg syncbase, type Row interface, Exists(*context.T) (bool, error)
pkg syncbase, type Row interface, FullName() string
pkg syncbase, type Row interface, Get(*context.T, interface{}) error
pkg syncbase, type Row interface, Key() string
pkg syncbase, type Row interface, Put(*context.T, interface{}) error
pkg syncbase, type RowRange interface { Limit, Start }
pkg syncbase, type RowRange interface, Limit() string
pkg syncbase, type RowRange interface, Start() string
pkg syncbase, type ScanStream interface { Advance, Cancel, Err, Key, Value }
pkg syncbase, type ScanStream interface, Advance() bool
pkg syncbase, type ScanStream interface, Cancel()
pkg syncbase, type ScanStream interface, Err() error
pkg syncbase, type ScanStream interface, Key() string
pkg syncbase, type ScanStream interface, Value(interface{}) error
pkg syncbase, type Schema struct
pkg syncbase, type Schema struct, Metadata wire.SchemaMetadata
pkg syncbase, type Schema struct, Resolver ConflictResolver
pkg syncbase, type Service interface, Database(*context.T, string, *Schema) Database
pkg syncbase, type Service interface, DatabaseForId(wire.Id, *Schema) Database
pkg syncbase, type Service interface, FullName() string
pkg syncbase, type Service interface, ListDatabases(*context.T) ([]wire.Id, error)
pkg syncbase, type Service interface, unexported methods
pkg syncbase, type Stream interface { Advance, Cancel, Err }
pkg syncbase, type Stream interface, Advance() bool
pkg syncbase, type Stream interface, Cancel()
pkg syncbase, type Stream interface, Err() error
pkg syncbase, type Syncgroup interface { Create, Destroy, Eject, GetMembers, GetSpec, Id, Join, Leave, SetSpec }
pkg syncbase, type Syncgroup interface, Create(*context.T, wire.SyncgroupSpec, wire.SyncgroupMemberInfo) error
pkg syncbase, type Syncgroup interface, Destroy(*context.T) error
pkg syncbase, type Syncgroup interface, Eject(*context.T, string) error
pkg syncbase, type Syncgroup interface, GetMembers(*context.T) (map[string]wire.SyncgroupMemberInfo, error)
pkg syncbase, type Syncgroup interface, GetSpec(*context.T) (wire.SyncgroupSpec, string, error)
pkg syncbase, type Syncgroup interface, Id() wire.Id
pkg syncbase, type Syncgroup interface, Join(*context.T, string, []string, wire.SyncgroupMemberInfo) (wire.SyncgroupSpec, error)
pkg syncbase, type Syncgroup interface, Leave(*context.T) error
pkg syncbase, type Syncgroup interface, SetSpec(*context.T, wire.SyncgroupSpec, string) error
pkg syncbase, type Value struct
pkg syncbase, type Value struct, Selection syncbase.ValueSelection
pkg syncbase, type Value struct, State syncbase.ValueState
pkg syncbase, type Value struct, Val *vom.RawBytes
pkg syncbase, type Value struct, WriteTs time.Time
pkg syncbase, type WatchChange struct
pkg syncbase, type WatchChange struct, ChangeType ChangeType
pkg syncbase, type WatchChange struct, Collection wire.Id
pkg syncbase, type WatchChange struct, Continued bool
pkg syncbase, type WatchChange struct, EntityType EntityType
pkg syncbase, type WatchChange struct, FromSync bool
pkg syncbase, type WatchChange struct, ResumeMarker watch.ResumeMarker
pkg syncbase, type WatchChange struct, Row string
pkg syncbase, type WatchStream interface { Advance, Cancel, Change, Err }
pkg syncbase, type WatchStream interface, Advance() bool
pkg syncbase, type WatchStream interface, Cancel()
pkg syncbase, type WatchStream interface, Change() WatchChange
pkg syncbase, type WatchStream interface, Err() error
