server

package
v0.0.0-...-ff5f600 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2016 License: BSD-3-Clause Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDispatcher

func NewDispatcher(s *service) *dispatcher

func NewService

func NewService(ctx *context.T, opts ServiceOptions) (*service, error)

NewService creates a new service instance and returns it. TODO(sadovsky): If possible, close all stores when the server is stopped.

func PermsString

func PermsString(perms access.Permissions) string

PermsString returns a JSON-based string representation of the permissions.

Types

type CollectionPerms

type CollectionPerms access.Permissions

CollectionPerms represent the persistent, synced permissions of a Collection. Existence of CollectionPerms in the store determines existence of the Collection. Note: Since CollectionPerms is synced and conflict resolved, the sync protocol needs to be aware of it. Any potential additions to synced Collection metadata should be written to a separate, synced key prefix, written in the same transaction with CollectionPerms and incorporated into the sync protocol. All persistent Collection metadata should be synced; local-only metadata is acceptable only if optional (e.g. stats).

func (*CollectionPerms) FillVDLTarget

func (m *CollectionPerms) FillVDLTarget(t vdl.Target, tt *vdl.Type) error

func (*CollectionPerms) GetPerms

func (perms *CollectionPerms) GetPerms() access.Permissions

func (*CollectionPerms) MakeVDLTarget

func (m *CollectionPerms) MakeVDLTarget() vdl.Target

func (CollectionPerms) VDLIsZero

func (x CollectionPerms) VDLIsZero() bool

func (*CollectionPerms) VDLRead

func (x *CollectionPerms) VDLRead(dec vdl.Decoder) error

func (CollectionPerms) VDLWrite

func (x CollectionPerms) VDLWrite(enc vdl.Encoder) error

type CollectionPermsTarget

type CollectionPermsTarget struct {
	Value *CollectionPerms

	vdl.TargetBase
	vdl.MapTargetBase
	// contains filtered or unexported fields
}

func (*CollectionPermsTarget) FinishField

func (t *CollectionPermsTarget) FinishField(key, field vdl.Target) error

func (*CollectionPermsTarget) FinishKeyStartField

func (t *CollectionPermsTarget) FinishKeyStartField(key vdl.Target) (field vdl.Target, _ error)

func (*CollectionPermsTarget) FinishMap

func (t *CollectionPermsTarget) FinishMap(elem vdl.MapTarget) error

func (*CollectionPermsTarget) StartKey

func (t *CollectionPermsTarget) StartKey() (key vdl.Target, _ error)

func (*CollectionPermsTarget) StartMap

func (t *CollectionPermsTarget) StartMap(tt *vdl.Type, len int) (vdl.MapTarget, error)

type DatabaseData

type DatabaseData struct {
	Id             syncbase.Id
	Version        uint64 // covers the Perms field below
	Perms          access.Permissions
	SchemaMetadata *syncbase.SchemaMetadata
}

DatabaseData represents the persistent state of a Database, stored in the per-database storage engine.

func (*DatabaseData) FillVDLTarget

func (m *DatabaseData) FillVDLTarget(t vdl.Target, tt *vdl.Type) error

func (*DatabaseData) GetPerms

func (data *DatabaseData) GetPerms() access.Permissions

func (*DatabaseData) MakeVDLTarget

func (m *DatabaseData) MakeVDLTarget() vdl.Target

func (DatabaseData) VDLIsZero

func (x DatabaseData) VDLIsZero() bool

func (*DatabaseData) VDLRead

func (x *DatabaseData) VDLRead(dec vdl.Decoder) error

func (DatabaseData) VDLWrite

func (x DatabaseData) VDLWrite(enc vdl.Encoder) error

type DatabaseDataTarget

type DatabaseDataTarget struct {
	Value *DatabaseData

	vdl.TargetBase
	vdl.FieldsTargetBase
	// contains filtered or unexported fields
}

func (*DatabaseDataTarget) FinishField

func (t *DatabaseDataTarget) FinishField(_, _ vdl.Target) error

func (*DatabaseDataTarget) FinishFields

func (t *DatabaseDataTarget) FinishFields(_ vdl.FieldsTarget) error

func (*DatabaseDataTarget) StartField

func (t *DatabaseDataTarget) StartField(name string) (key, field vdl.Target, _ error)

func (*DatabaseDataTarget) StartFields

func (t *DatabaseDataTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error)

func (*DatabaseDataTarget) ZeroField

func (t *DatabaseDataTarget) ZeroField(name string) error

type DatabaseOptions

type DatabaseOptions struct {
	// Database-level permissions.
	Perms access.Permissions
	// Root dir for data storage.
	RootDir string
	// Storage engine to use.
	Engine string
}

DatabaseOptions configures a database.

type DbInfo

type DbInfo struct {
	Id syncbase.Id
	// Select fields from DatabaseOptions, needed in order to open storage engine
	// on restart.
	RootDir string // interpreted by storage engine
	Engine  string // name of storage engine, e.g. "leveldb"
}

DbInfo contains information about a single Database, stored in the service-level storage engine.

func (*DbInfo) FillVDLTarget

func (m *DbInfo) FillVDLTarget(t vdl.Target, tt *vdl.Type) error

func (*DbInfo) MakeVDLTarget

func (m *DbInfo) MakeVDLTarget() vdl.Target

func (DbInfo) VDLIsZero

func (x DbInfo) VDLIsZero() bool

func (*DbInfo) VDLRead

func (x *DbInfo) VDLRead(dec vdl.Decoder) error

func (DbInfo) VDLWrite

func (x DbInfo) VDLWrite(enc vdl.Encoder) error

type DbInfoTarget

type DbInfoTarget struct {
	Value *DbInfo

	vdl.TargetBase
	vdl.FieldsTargetBase
	// contains filtered or unexported fields
}

func (*DbInfoTarget) FinishField

func (t *DbInfoTarget) FinishField(_, _ vdl.Target) error

func (*DbInfoTarget) FinishFields

func (t *DbInfoTarget) FinishFields(_ vdl.FieldsTarget) error

func (*DbInfoTarget) StartField

func (t *DbInfoTarget) StartField(name string) (key, field vdl.Target, _ error)

func (*DbInfoTarget) StartFields

func (t *DbInfoTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error)

func (*DbInfoTarget) ZeroField

func (t *DbInfoTarget) ZeroField(name string) error

type ServiceData

type ServiceData struct {
	Version uint64 // covers the fields below
	Perms   access.Permissions
}

ServiceData represents the persistent state of a Service.

func (*ServiceData) FillVDLTarget

func (m *ServiceData) FillVDLTarget(t vdl.Target, tt *vdl.Type) error

func (*ServiceData) GetPerms

func (data *ServiceData) GetPerms() access.Permissions

func (*ServiceData) MakeVDLTarget

func (m *ServiceData) MakeVDLTarget() vdl.Target

func (ServiceData) VDLIsZero

func (x ServiceData) VDLIsZero() bool

func (*ServiceData) VDLRead

func (x *ServiceData) VDLRead(dec vdl.Decoder) error

func (ServiceData) VDLWrite

func (x ServiceData) VDLWrite(enc vdl.Encoder) error

type ServiceDataTarget

type ServiceDataTarget struct {
	Value *ServiceData

	vdl.TargetBase
	vdl.FieldsTargetBase
	// contains filtered or unexported fields
}

func (*ServiceDataTarget) FinishField

func (t *ServiceDataTarget) FinishField(_, _ vdl.Target) error

func (*ServiceDataTarget) FinishFields

func (t *ServiceDataTarget) FinishFields(_ vdl.FieldsTarget) error

func (*ServiceDataTarget) StartField

func (t *ServiceDataTarget) StartField(name string) (key, field vdl.Target, _ error)

func (*ServiceDataTarget) StartFields

func (t *ServiceDataTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error)

func (*ServiceDataTarget) ZeroField

func (t *ServiceDataTarget) ZeroField(name string) error

type ServiceOptions

type ServiceOptions struct {
	// Service-level permissions. Used only when creating a brand-new storage
	// instance.
	Perms access.Permissions
	// Root dir for data storage. If empty, we write to a fresh directory created
	// using ioutil.TempDir.
	RootDir string
	// Storage engine to use: memstore or leveldb. If empty, we use the default
	// storage engine, currently leveldb.
	Engine string
	// Whether to skip publishing in the neighborhood.
	SkipPublishInNh bool
	// Whether to run in development mode; required for RPCs such as
	// Service.DevModeUpdateVClock.
	DevMode bool
}

ServiceOptions configures a service.

Directories

Path Synopsis
Package interfaces defines internal interfaces for various objects in the Syncbase server implementation.
Package interfaces defines internal interfaces for various objects in the Syncbase server implementation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL