pkg syncbase, const DeleteChange ChangeType
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) 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 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, 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
