Documentation ¶
Index ¶
- type ApplicationPackageHandler
- type AssociationRegistry
- type Config
- type DefaultAssociationRegistry
- type Registry
- type RegistryCleaner
- func (cleaner *RegistryCleaner) CleanData(ctx context.Context, isDeviceSet map[string]struct{}, ...) error
- func (cleaner *RegistryCleaner) DeleteApplicationAndDeviceData(ctx context.Context, deviceList, applicationList []string) error
- func (cleaner *RegistryCleaner) RangeToLocalSet(ctx context.Context) error
- type Server
- type TransactionRegistry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplicationPackageHandler ¶
type ApplicationPackageHandler interface { Package() *ttnpb.ApplicationPackage HandleUp(context.Context, *ttnpb.ApplicationPackageDefaultAssociation, *ttnpb.ApplicationPackageAssociation, *ttnpb.ApplicationUp) error }
ApplicationPackageHandler handles upstream traffic from the Application Server.
type AssociationRegistry ¶ added in v3.9.0
type AssociationRegistry interface { // GetAssociation returns the association by its identifiers. GetAssociation(ctx context.Context, ids *ttnpb.ApplicationPackageAssociationIdentifiers, paths []string) (*ttnpb.ApplicationPackageAssociation, error) // ListAssociations returns all of the associations of the end device. ListAssociations(ctx context.Context, ids *ttnpb.EndDeviceIdentifiers, paths []string) ([]*ttnpb.ApplicationPackageAssociation, error) // SetAssociation creates, updates or deletes the association by its identifiers. SetAssociation(ctx context.Context, ids *ttnpb.ApplicationPackageAssociationIdentifiers, gets []string, f func(*ttnpb.ApplicationPackageAssociation) (*ttnpb.ApplicationPackageAssociation, []string, error)) (*ttnpb.ApplicationPackageAssociation, error) // WithPagination adds the pagination information to the context. WithPagination(ctx context.Context, limit, page uint32, total *int64) context.Context // ClearAssociations removes all application package associations for a specific end device. ClearAssociations(ctx context.Context, ids *ttnpb.EndDeviceIdentifiers) error }
AssociationRegistry is a registry for application package end device associations.
type Config ¶ added in v3.9.2
type Config struct { Workers int `name:"workers" description:"Number of workers per application package"` Timeout time.Duration `name:"timeout" description:"Message processing timeout"` }
Config contains configuration options for application packages.
type DefaultAssociationRegistry ¶ added in v3.9.0
type DefaultAssociationRegistry interface { // GetDefaultAssociation returns the default association by its identifiers. GetDefaultAssociation(ctx context.Context, ids *ttnpb.ApplicationPackageDefaultAssociationIdentifiers, paths []string) (*ttnpb.ApplicationPackageDefaultAssociation, error) // ListDefaultAssociation returns all of the default associations of the application. ListDefaultAssociations(ctx context.Context, ids *ttnpb.ApplicationIdentifiers, paths []string) ([]*ttnpb.ApplicationPackageDefaultAssociation, error) // SetDefaultAssociation creates, updates or deletes the default association by its identifiers. SetDefaultAssociation(ctx context.Context, ids *ttnpb.ApplicationPackageDefaultAssociationIdentifiers, gets []string, f func(*ttnpb.ApplicationPackageDefaultAssociation) (*ttnpb.ApplicationPackageDefaultAssociation, []string, error)) (*ttnpb.ApplicationPackageDefaultAssociation, error) // WithPagination adds the pagination information to the context. WithPagination(ctx context.Context, limit, page uint32, total *int64) context.Context // ClearDefaultAssociations removes all application package default associations for a specific application. ClearDefaultAssociations(ctx context.Context, ids *ttnpb.ApplicationIdentifiers) error }
DefaultAssociationRegistry is a registry for application package default associations.
type Registry ¶
type Registry interface { AssociationRegistry DefaultAssociationRegistry TransactionRegistry // Range ranges over the application packages and calls the appropriate callback function, until false is returned. Range( ctx context.Context, paths []string, devFunc func(context.Context, *ttnpb.EndDeviceIdentifiers, *ttnpb.ApplicationPackageAssociation) bool, appFunc func(context.Context, *ttnpb.ApplicationIdentifiers, *ttnpb.ApplicationPackageDefaultAssociation) bool, ) error }
Registry is a registry for application packages.
type RegistryCleaner ¶ added in v3.15.2
type RegistryCleaner struct { ApplicationPackagesRegistry Registry LocalDeviceSet map[string]struct{} LocalApplicationSet map[string]struct{} }
RegistryCleaner is a service responsible for cleanup of the application packages registry.
func (*RegistryCleaner) CleanData ¶ added in v3.15.2
func (cleaner *RegistryCleaner) CleanData(ctx context.Context, isDeviceSet map[string]struct{}, isApplicationSet map[string]struct{}) error
CleanData cleans registry application and device data.
func (*RegistryCleaner) DeleteApplicationAndDeviceData ¶ added in v3.15.2
func (cleaner *RegistryCleaner) DeleteApplicationAndDeviceData(ctx context.Context, deviceList, applicationList []string) error
DeleteApplicationAndDeviceData deletes registry application and device data of all applications and devices in application and device lists.
func (*RegistryCleaner) RangeToLocalSet ¶ added in v3.15.2
func (cleaner *RegistryCleaner) RangeToLocalSet(ctx context.Context) error
RangeToLocalSet returns a set of applications and devices that have data in the registry.
type Server ¶
type Server interface { rpcserver.ServiceRegisterer web.Registerer }
Server is an application packages frontend.
type TransactionRegistry ¶ added in v3.14.1
type TransactionRegistry interface {
EndDeviceTransaction(ctx context.Context, ids *ttnpb.EndDeviceIdentifiers, fPort uint32, packageName string, fn func(ctx context.Context) error) error
}
TransactionRegistry is a registry for application packages transactions.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
alcsync
|
|
v1
Package alcsyncv1 provides the LoRa Application Layer Clock Synchronization Package.
|
Package alcsyncv1 provides the LoRa Application Layer Clock Synchronization Package. |
loradms
|
|
loragls
|
|
v3
Package loracloudgeolocationv3 enables LoRa Cloud Geolocation Services integration.
|
Package loracloudgeolocationv3 enables LoRa Cloud Geolocation Services integration. |
Package redis provides implementation of the application packages registry using Redis.
|
Package redis provides implementation of the application packages registry using Redis. |