resource

package
v0.0.0-...-e9ffd63 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2026 License: MulanPSL-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DeviceMap

type DeviceMap map[Name]Devices

func NewDeviceMap

func NewDeviceMap(resources *Resources) (DeviceMap, error)

type Devices

type Devices map[string]*urmasdk.Device

Devices is a map of device ID to Device

func (Devices) Equal

func (ds Devices) Equal(other Devices) bool

func (Devices) GetPluginDevices

func (ds Devices) GetPluginDevices() []*pluginapi.Device

GetPluginDevices returns the plugin Devices from all devices in the Devices

type Manager

type Manager interface {
	Resource() Name
	Devices() Devices
	SyncDevices(time.Duration, <-chan interface{}, chan struct{}) error
	UpdateDevices(Devices)
	Recover() error
}

func NewUrmaResourceManagers

func NewUrmaResourceManagers(resources *Resources) ([]Manager, error)

type Name

type Name string

func NewResourceName

func NewResourceName(n string) (Name, error)

func (Name) Split

func (r Name) Split() (string, string)

type Pattern

type Pattern string

func (Pattern) Matches

func (p Pattern) Matches(s string) bool

Matches checks if the provided string matches the ResourcePattern or not.

type Resource

type Resource struct {
	Pattern Pattern `json:"pattern" yaml:"pattern"`
	Name    Name    `json:"name"    yaml:"name"`
}

func NewResource

func NewResource(pattern, name string) (*Resource, error)

type Resources

type Resources struct {
	SHAREDs []Resource `json:"shared,omitempty"  yaml:"shared,omitempty"`
}

Resources lists full SHARED devices separately.

func InitDefaultResources

func InitDefaultResources() (*Resources, error)

func (*Resources) AddSHAREResource

func (r *Resources) AddSHAREResource(pattern, name string) error

AddSHAREResource adds a SHARE name to the list of SHARE resources.

type UrmaResourceManager

type UrmaResourceManager struct {
	// contains filtered or unexported fields
}

func (*UrmaResourceManager) Devices

func (r *UrmaResourceManager) Devices() Devices

func (*UrmaResourceManager) Recover

func (r *UrmaResourceManager) Recover() error

func (*UrmaResourceManager) Resource

func (r *UrmaResourceManager) Resource() Name

func (*UrmaResourceManager) SyncDevices

func (r *UrmaResourceManager) SyncDevices(interval time.Duration, stop <-chan interface{}, updated chan struct{}) error

func (*UrmaResourceManager) UpdateDevices

func (r *UrmaResourceManager) UpdateDevices(devices Devices)

Source Files

  • device_map.go
  • devices.go
  • resource_manager.go
  • resources.go
  • urma_manager.go

Jump to

Keyboard shortcuts

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