Documentation ¶
Index ¶
- Constants
- Variables
- type AlreadyMappedError
- type App
- type Generator
- type ImportFailureReason
- type ImportInstanceFailureReason
- type ImportInstancesReport
- type ImporterStorage
- type Instance
- type InstanceExported
- type InstanceState
- type JSONExporter
- type JSONImporter
- type Mapper
- type MemoryMapper
- type MemoryStorage
- func (s *MemoryStorage) AppFind(apiKey string) (*App, error)
- func (s *MemoryStorage) AppLoad(id string) (*App, error)
- func (s *MemoryStorage) AppSave(o *App) error
- func (s *MemoryStorage) InstanceFind(appID string, registrationID RegistrationID) (*Instance, error)
- func (s *MemoryStorage) InstanceLoad(aID, iID string) (*Instance, error)
- func (s *MemoryStorage) InstanceSave(o *Instance) error
- func (s *MemoryStorage) InstancesTotal() int
- func (s *MemoryStorage) Report() map[string]interface{}
- type RegistrationID
- type Storer
Constants ¶
View Source
const ( InstanceStateRegistered = iota + 1 InstanceStateUnregistered )
Variables ¶
View Source
var (
ErrElementNotFound = errors.New("Storage: element not found")
)
View Source
var TFAppA = App{
ID: "appIdA",
SenderID: "senderIdA",
ApiKey: "apiKeyA",
}
View Source
var TFAppB = App{
ID: "appIdB",
SenderID: "senderIdB",
ApiKey: "apiKeyB",
}
View Source
var TFAppC = App{
ID: "appIdC",
SenderID: "senderIdC",
ApiKey: "apiKeyC",
}
View Source
var TFInsAA = Instance{ ID: "instanceAA", State: InstanceStateRegistered, App: &TFAppA, RegistrationIDS: []RegistrationID{"RegIdAA1"}, CanonicalID: "RegIdAA1", }
View Source
var TFInsAB = Instance{ ID: "instanceAB", State: InstanceStateRegistered, App: &TFAppA, RegistrationIDS: []RegistrationID{"RegIdAB1", "RegIdAB2"}, CanonicalID: "RegIdAB1", }
View Source
var TFInsAC = Instance{ ID: "instanceAC", State: InstanceStateRegistered, App: &TFAppA, RegistrationIDS: []RegistrationID{"RegIdAC1", "RegIdAC2", "RegIdAC3"}, CanonicalID: "RegIdAC3", }
View Source
var TFInsAZ = Instance{ ID: "instanceAZ", State: InstanceStateUnregistered, App: &TFAppA, RegistrationIDS: []RegistrationID{"RegIdAZ1", "RegIdAZ2"}, }
View Source
var TFInsBA = Instance{ ID: "instanceBA", State: InstanceStateRegistered, App: &TFAppB, RegistrationIDS: []RegistrationID{"RegIdBA1"}, CanonicalID: "RegIdBA1", }
View Source
var TFInsBB = Instance{ ID: "instanceBB", State: InstanceStateRegistered, App: &TFAppB, RegistrationIDS: []RegistrationID{"RegIdBB1", "RegIdBB2"}, CanonicalID: "RegIdBB1", }
View Source
var TFInsBC = Instance{ ID: "instanceBC", State: InstanceStateRegistered, App: &TFAppB, RegistrationIDS: []RegistrationID{"RegIdBC1", "RegIdBC2", "RegIdBC3"}, CanonicalID: "RegIdBC3", }
Functions ¶
This section is empty.
Types ¶
type AlreadyMappedError ¶
type AlreadyMappedError struct {
Collisions map[RegistrationID]*Instance
}
func (AlreadyMappedError) Error ¶
func (AlreadyMappedError) Error() string
type Generator ¶
type ImportFailureReason ¶
type ImportFailureReason string
const (
FailUnknownApp ImportFailureReason = "unknownApp"
)
type ImportInstanceFailureReason ¶
type ImportInstanceFailureReason struct { ID string AppID string Reason ImportFailureReason }
type ImportInstancesReport ¶
type ImportInstancesReport struct { Succeeded int Failed int Failures []ImportInstanceFailureReason }
type ImporterStorage ¶
type Instance ¶
type Instance struct { ID string State InstanceState App *App RegistrationIDS []RegistrationID // CanonicalID is the primary RegistrationID associated with instance at the given point in time. // It's defined only for registered instances. CanonicalID RegistrationID `json:",omitempty"` }
type InstanceExported ¶
type InstanceState ¶
type InstanceState int
type JSONExporter ¶
type JSONExporter struct { AppWriter io.Writer InstanceWriter io.Writer AppEncoder *json.Encoder InstanceEncoder *json.Encoder }
JSONExporter exports data in JSON format. Implements android.Storer interface for generator.
func NewJSONExporter ¶
func NewJSONExporter(appWriter, instanceWriter io.Writer) *JSONExporter
func (*JSONExporter) AppSave ¶
func (e *JSONExporter) AppSave(o *App) error
func (*JSONExporter) InstanceSave ¶
func (e *JSONExporter) InstanceSave(o *Instance) error
type JSONImporter ¶
type JSONImporter struct { Storage ImporterStorage Mapper Mapper }
func NewJSONImporter ¶
func NewJSONImporter(s ImporterStorage, m Mapper) *JSONImporter
func (*JSONImporter) ImportApps ¶
func (i *JSONImporter) ImportApps(r io.Reader)
func (*JSONImporter) ImportInstances ¶
func (i *JSONImporter) ImportInstances(r io.Reader) ImportInstancesReport
type MemoryMapper ¶
type MemoryMapper struct {
// contains filtered or unexported fields
}
func NewMemoryMapper ¶
func NewMemoryMapper() *MemoryMapper
func (*MemoryMapper) Add ¶
func (m *MemoryMapper) Add(i *Instance) error
type MemoryStorage ¶
type MemoryStorage struct {
// contains filtered or unexported fields
}
func NewMemoryStorage ¶
func NewMemoryStorage() *MemoryStorage
func TSMemoryStorageWitAppsAndInstancesSetup ¶
func TSMemoryStorageWitAppsAndInstancesSetup() (*MemoryStorage, func())
func (*MemoryStorage) AppSave ¶
func (s *MemoryStorage) AppSave(o *App) error
func (*MemoryStorage) InstanceFind ¶
func (s *MemoryStorage) InstanceFind(appID string, registrationID RegistrationID) (*Instance, error)
func (*MemoryStorage) InstanceLoad ¶
func (s *MemoryStorage) InstanceLoad(aID, iID string) (*Instance, error)
func (*MemoryStorage) InstanceSave ¶
func (s *MemoryStorage) InstanceSave(o *Instance) error
func (*MemoryStorage) InstancesTotal ¶
func (s *MemoryStorage) InstancesTotal() int
func (*MemoryStorage) Report ¶
func (s *MemoryStorage) Report() map[string]interface{}
Report is producing report on the state of the storage. It's useful as debugging and monitoring tool.
type RegistrationID ¶
type RegistrationID string
Source Files ¶
Click to show internal directories.
Click to hide internal directories.