Documentation ¶
Index ¶
Constants ¶
View Source
const ( PropertyCacheExpiration = 30 * time.Second PropertyCacheCleanupInterval = 2 * PropertyCacheExpiration )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeviceDriver ¶
type DeviceDriver struct {
// contains filtered or unexported fields
}
func NewDeviceDriver ¶
func NewDeviceDriver(ctx context.Context, cancel context.CancelFunc, protocol *models.Protocol, twinBuilder models.DeviceTwinBuilder) (*DeviceDriver, error)
func (*DeviceDriver) Initialize ¶
func (d *DeviceDriver) Initialize() error
func (*DeviceDriver) Serve ¶
func (d *DeviceDriver) Serve() error
type TwinRunner ¶ added in v0.2.2
type TwinRunner interface { Initialize(ctx context.Context) error Start() error Stop(force bool) error HealthCheck() (*models.DeviceStatus, error) // Read indicates soft read, it will read the specified property from the cache with TTL. // Specially, when propertyID is "*", it indicates read all properties. Read(propertyID models.ProductPropertyID) (map[models.ProductPropertyID]*models.DeviceData, error) // HardRead indicates head read, it will read the specified property from the real device. // Specially, when propertyID is "*", it indicates read all properties. HardRead(propertyID models.ProductPropertyID) (map[models.ProductPropertyID]*models.DeviceData, error) Write(propertyID models.ProductPropertyID, values map[models.ProductPropertyID]*models.DeviceData) error Call(methodID models.ProductMethodID, ins map[models.ProductPropertyID]*models.DeviceData) (outs map[models.ProductPropertyID]*models.DeviceData, err error) }
func NewTwinRunner ¶ added in v0.2.2
func NewTwinRunner(driver *DeviceDriver, device *models.Device) (TwinRunner, error)
Click to show internal directories.
Click to hide internal directories.