Documentation
ΒΆ
Overview ΒΆ
Package gosense provides a generic sensor data generation engine. It supports various seeders, sensor functions, and publishers for generating realistic sensor data.
Index ΒΆ
- Constants
- type BasicSensorFunction
- type Config
- type ConsolePublisher
- type CustomSeeder
- type Engine
- type Function
- type GenericGRPCPublisher
- type GenericHTTPPublisher
- type GenericKafkaPublisher
- type LambdaSensorFunction
- type LinearSeeder
- type NormalSeeder
- type Publisher
- type Quality
- type RandomSeeder
- type Seeder
- type SensorData
- type SensorFunction
- type TimeSeeder
Constants ΒΆ
const ( QualityOK = engine.QualityOK QualityNoisy = engine.QualityNoisy QualityPartial = engine.QualityPartial QualityCorrupt = engine.QualityCorrupt )
Re-export quality constants
Variables ΒΆ
This section is empty.
Functions ΒΆ
This section is empty.
Types ΒΆ
type BasicSensorFunction ΒΆ
type BasicSensorFunction[T any] = engine.BasicSensorFunction[T]
BasicSensorFunction provides a simple implementation for basic sensor data generation
func NewBasicSensorFunction ΒΆ
func NewBasicSensorFunction[T any](transformFunc func(float64, time.Time) T) *BasicSensorFunction[T]
NewBasicSensorFunction creates a new basic sensor function with a custom transform function
type Config ΒΆ
Config holds the engine configuration
func HighThroughputConfig ΒΆ
func HighThroughputConfig() Config
func LowLatencyConfig ΒΆ
func LowLatencyConfig() Config
type ConsolePublisher ΒΆ added in v0.2.3
type ConsolePublisher[T any] struct{}
ConsolePublisher is a simple publisher that outputs sensor data to the console Useful for development, testing, and demonstration purposes
func NewConsolePublisher ΒΆ added in v0.2.3
func NewConsolePublisher[T any]() *ConsolePublisher[T]
NewConsolePublisher creates a new console publisher
func (*ConsolePublisher[T]) Close ΒΆ added in v0.2.3
func (p *ConsolePublisher[T]) Close() error
Close closes the console publisher
func (*ConsolePublisher[T]) Publish ΒΆ added in v0.2.3
func (p *ConsolePublisher[T]) Publish(ctx context.Context, data SensorData[T]) error
Publish publishes a single sensor data point to the console
func (*ConsolePublisher[T]) PublishBatch ΒΆ added in v0.2.3
func (p *ConsolePublisher[T]) PublishBatch(ctx context.Context, data []SensorData[T]) error
PublishBatch publishes a batch of sensor data points to the console
type CustomSeeder ΒΆ
type CustomSeeder = engine.CustomSeeder
CustomSeeder allows for custom generation functions
func NewCustomSeeder ΒΆ
func NewCustomSeeder(generateFunc func() float64) *CustomSeeder
NewCustomSeeder creates a new custom seeder
type GenericGRPCPublisher ΒΆ added in v0.2.1
type GenericGRPCPublisher[T any] = publisher.GenericGRPCPublisher[T]
GenericGRPCPublisher is a generic gRPC publisher
func NewGenericGRPCPublisher ΒΆ added in v0.2.1
NewGenericGRPCPublisher creates a new generic gRPC publisher
type GenericHTTPPublisher ΒΆ added in v0.2.1
type GenericHTTPPublisher[T any] = publisher.GenericHTTPPublisher[T]
GenericHTTPPublisher is a generic HTTP publisher
func NewGenericHTTPPublisher ΒΆ added in v0.2.1
func NewGenericHTTPPublisher[T any](endpoint string) *GenericHTTPPublisher[T]
NewGenericHTTPPublisher creates a new generic HTTP publisher
type GenericKafkaPublisher ΒΆ added in v0.2.1
type GenericKafkaPublisher[T any] = publisher.GenericKafkaPublisher[T]
GenericKafkaPublisher is a generic Kafka publisher
func NewGenericKafkaPublisher ΒΆ added in v0.2.1
NewGenericKafkaPublisher creates a new generic Kafka publisher
type LambdaSensorFunction ΒΆ
type LambdaSensorFunction[T any] = engine.LambdaSensorFunction[T]
LambdaSensorFunction provides a simple function wrapper for inline usage
type LinearSeeder ΒΆ
type LinearSeeder = engine.LinearSeeder
LinearSeeder generates values that increase linearly over time
func NewLinearSeeder ΒΆ
func NewLinearSeeder(slope, offset float64) *LinearSeeder
NewLinearSeeder creates a new linear seeder
type NormalSeeder ΒΆ
type NormalSeeder = engine.NormalSeeder
NormalSeeder generates values from a normal distribution
func NewNormalSeeder ΒΆ
func NewNormalSeeder(mean, stdDev float64) *NormalSeeder
NewNormalSeeder creates a new normal distribution seeder
type RandomSeeder ΒΆ
type RandomSeeder = engine.RandomSeeder
RandomSeeder generates random values within a range
func NewRandomSeeder ΒΆ
func NewRandomSeeder(min, max float64) *RandomSeeder
NewRandomSeeder creates a new random seeder
type SensorData ΒΆ
type SensorData[T any] = engine.SensorData[T]
SensorData represents any sensor reading with generic data
type SensorFunction ΒΆ
type SensorFunction[T any] = engine.SensorFunction[T]
SensorFunction defines the interface for sensor data generation functions
type TimeSeeder ΒΆ
type TimeSeeder = engine.TimeSeeder
TimeSeeder generates values based on time
func NewTimeSeeder ΒΆ
func NewTimeSeeder(amplitude, frequency, offset float64) *TimeSeeder
NewTimeSeeder creates a new time-based seeder