Documentation
¶
Index ¶
- Constants
- type Configuration
- type DataProcessorDiscrete
- type DataProcessorStream
- type Event
- func (e *Event) GetBody() []byte
- func (e *Event) GetContentType() string
- func (e *Event) GetField(key string) interface{}
- func (e *Event) GetFieldByteSlice(key string) []byte
- func (e *Event) GetFieldInt(key string) (int, error)
- func (e *Event) GetFieldString(key string) string
- func (e *Event) GetFields() map[string]interface{}
- func (e *Event) GetHeader(key string) interface{}
- func (e *Event) GetHeaderByteSlice(key string) []byte
- func (e *Event) GetHeaderInt(key string) (int, error)
- func (e *Event) GetHeaderString(key string) string
- func (e *Event) GetHeaders() map[string]interface{}
- func (e *Event) GetMethod() string
- func (e *Event) GetPath() string
- func (e *Event) GetTimestamp() time.Time
Constants ¶
const ( DefaultBufferSize = 4096 DefaultChunkBytes = 160000 DefaultMaxBytes = 1440000 DefaultTrimBytes = 1120000 DefaultProcessingInterval = 2000 DefaultIsStream = false )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Configuration ¶
type Configuration struct {
trigger.Configuration
WebSocketAddr string `mapstructure:"websocket_addr"`
BufferSize int `mapstructure:"buffer_size"`
ChunkBytes int `mapstructure:"chunk_bytes"`
MaxBytes int `mapstructure:"max_bytes"`
TrimBytes int `mapstructure:"trim_bytes"`
ProcessingInterval time.Duration `mapstructure:"processing_interval"`
IsStream bool `mapstructure:"is_stream"`
}
func NewConfiguration ¶
func NewConfiguration(id string, triggerConfiguration *functionconfig.Trigger, runtimeConfiguration *runtime.Configuration) (*Configuration, error)
type DataProcessorDiscrete ¶
type DataProcessorDiscrete struct {
// contains filtered or unexported fields
}
DataProcessorDiscrete processes independent WebSocket messages. Each Push replaces the previous value, and latest data is periodically emitted as an Event.
func NewDataProcessorDiscrete ¶
func NewDataProcessorDiscrete(processingInterval time.Duration) *DataProcessorDiscrete
func (*DataProcessorDiscrete) Output ¶
func (dp *DataProcessorDiscrete) Output() <-chan *Event
func (*DataProcessorDiscrete) Push ¶
func (dp *DataProcessorDiscrete) Push(data []byte)
func (*DataProcessorDiscrete) Start ¶
func (dp *DataProcessorDiscrete) Start()
func (*DataProcessorDiscrete) Stop ¶
func (dp *DataProcessorDiscrete) Stop()
type DataProcessorStream ¶
type DataProcessorStream struct {
// contains filtered or unexported fields
}
DataProcessorStream aggregates incoming byte stream into fixed-size chunks, keeps a rolling buffer, and periodically emits snapshots as Events.
func NewDataProcessorStream ¶
func NewDataProcessorStream( chunkBytes, maxBytes, trimBytes int, ) *DataProcessorStream
func (*DataProcessorStream) Output ¶
func (dp *DataProcessorStream) Output() <-chan *Event
func (*DataProcessorStream) Push ¶
func (dp *DataProcessorStream) Push(data []byte)
append raw incoming data and convert it into fixed-size chunks. Chunks are appended to rolling buffer.
func (*DataProcessorStream) Start ¶
func (dp *DataProcessorStream) Start(processingInterval time.Duration)
func (*DataProcessorStream) Stop ¶
func (dp *DataProcessorStream) Stop()
type Event ¶
type Event struct {
nuclio.AbstractEvent
// contains filtered or unexported fields
}
Event wraps a single message received over WebSocket
func (*Event) GetContentType ¶
GetContentType returns the content type of the WebSocket message
func (*Event) GetFieldByteSlice ¶
GetFieldByteSlice returns an attribute value as a byte slice
func (*Event) GetFieldInt ¶
GetFieldInt returns an attribute value as an int
func (*Event) GetFieldString ¶
GetFieldString returns an attribute value as a string
func (*Event) GetHeaderByteSlice ¶
GetHeaderByteSlice returns a header value as a byte slice
func (*Event) GetHeaderInt ¶
GetHeaderInt returns a header value as an int
func (*Event) GetHeaderString ¶
GetHeaderString returns a header value as a string
func (*Event) GetHeaders ¶
GetHeaders returns all attributes as headers
func (*Event) GetTimestamp ¶
GetTimestamp returns the packet timestamp