Documentation ¶
Index ¶
- type AppNonce
- type DevNonce
- type Device
- type Options
- type RedisDeviceStore
- func (s *RedisDeviceStore) Delete(appID, devID string) error
- func (s *RedisDeviceStore) Get(appID, devID string) (*Device, error)
- func (s *RedisDeviceStore) List(opts *storage.ListOptions) ([]*Device, error)
- func (s *RedisDeviceStore) ListForApp(appID string, opts *storage.ListOptions) ([]*Device, error)
- func (s *RedisDeviceStore) Set(new *Device, properties ...string) (err error)
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Device ¶
type Device struct { DevEUI types.DevEUI `redis:"dev_eui"` AppEUI types.AppEUI `redis:"app_eui"` AppID string `redis:"app_id"` DevID string `redis:"dev_id"` Latitude float32 `redis:"latitude"` Longitude float32 `redis:"longitude"` Altitude int32 `redis:"altitude"` Options Options `redis:"options"` AppKey types.AppKey `redis:"app_key"` UsedDevNonces []DevNonce `redis:"used_dev_nonces"` UsedAppNonces []AppNonce `redis:"used_app_nonces"` DevAddr types.DevAddr `redis:"dev_addr"` NwkSKey types.NwkSKey `redis:"nwk_s_key"` AppSKey types.AppSKey `redis:"app_s_key"` FCntUp uint32 `redis:"f_cnt_up"` // Only used to detect retries CurrentDownlink *types.DownlinkMessage `redis:"current_downlink"` NextDownlink *types.DownlinkMessage `redis:"next_downlink"` CreatedAt time.Time `redis:"created_at"` UpdatedAt time.Time `redis:"updated_at"` // contains filtered or unexported fields }
Device contains the state of a device
func (Device) ChangedFields ¶
ChangedFields returns the names of the changed fields since the last call to StartUpdate
func (Device) GetLoRaWAN ¶
func (d Device) GetLoRaWAN() *pb_lorawan.Device
GetLoRaWAN returns a LoRaWAN Device proto
func (*Device) StartUpdate ¶
func (d *Device) StartUpdate()
StartUpdate stores the state of the device
type Options ¶
type Options struct { ActivationConstraints string `json:"activation_constraints,omitempty"` // Activation Constraints (public/local/private) DisableFCntCheck bool `json:"disable_fcnt_check,omitemtpy"` // Disable Frame counter check (insecure) Uses32BitFCnt bool `json:"uses_32_bit_fcnt,omitemtpy"` // Use 32-bit Frame counters }
Options for the device
type RedisDeviceStore ¶
type RedisDeviceStore struct {
// contains filtered or unexported fields
}
RedisDeviceStore stores Devices in Redis. - Devices are stored as a Hash
func NewRedisDeviceStore ¶
func NewRedisDeviceStore(client *redis.Client, prefix string) *RedisDeviceStore
NewRedisDeviceStore creates a new Redis-based Device store
func (*RedisDeviceStore) Delete ¶
func (s *RedisDeviceStore) Delete(appID, devID string) error
Delete a Device
func (*RedisDeviceStore) Get ¶
func (s *RedisDeviceStore) Get(appID, devID string) (*Device, error)
Get a specific Device
func (*RedisDeviceStore) List ¶
func (s *RedisDeviceStore) List(opts *storage.ListOptions) ([]*Device, error)
List all Devices
func (*RedisDeviceStore) ListForApp ¶
func (s *RedisDeviceStore) ListForApp(appID string, opts *storage.ListOptions) ([]*Device, error)
ListForApp lists all devices for a specific Application
type Store ¶
type Store interface { List(opts *storage.ListOptions) ([]*Device, error) ListForApp(appID string, opts *storage.ListOptions) ([]*Device, error) Get(appID, devID string) (*Device, error) Set(new *Device, properties ...string) (err error) Delete(appID, devID string) error }
Store interface for Devices
Click to show internal directories.
Click to hide internal directories.