packages

package
v3.15.0 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplicationPackageHandler

type ApplicationPackageHandler interface {
	Package() *ttnpb.ApplicationPackage
	RegisterServices(s *grpc.Server)
	RegisterHandlers(s *runtime.ServeMux, conn *grpc.ClientConn)
	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
}

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
}

DefaultAssociationRegistry is a registry for application package default associations.

type Registry

Registry is a registry for application packages.

type Server

type Server interface {
	rpcserver.Registerer
}

Server is an application packages frontend.

func New

func New(ctx context.Context, as io.Server, registry Registry, handlers map[string]ApplicationPackageHandler, workers int, timeout time.Duration) (Server, error)

New returns an application packages server wrapping the given registries and handlers.

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.

Directories

Path Synopsis
loradms
v1
loragls
v3

Jump to

Keyboard shortcuts

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