engine

package
v0.0.0-...-ba062bd Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Overview

Package engine implements the actual query processor. It runs exacly one query generated using the compiler package.

Index

Constants

View Source
const (
	CsvComment          = '#'
	ChannelCapacity int = 1000
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Engine

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

func NewEngine

func NewEngine(
	dataReader io.Reader,
	dataWriter io.Writer,
	planReader io.Reader,
	exitAfterSeconds int,
) *Engine

func (*Engine) AggregateFilterWorker

func (e *Engine) AggregateFilterWorker()

func (*Engine) AggregateWorker

func (e *Engine) AggregateWorker()

func (*Engine) EgressWorker

func (e *Engine) EgressWorker()

func (*Engine) IngressFilterWorker

func (e *Engine) IngressFilterWorker()

func (*Engine) IngressWorker

func (e *Engine) IngressWorker()

func (*Engine) LiveDistanceWindowWorker

func (e *Engine) LiveDistanceWindowWorker()

func (*Engine) LiveTimeWindowWorker

func (e *Engine) LiveTimeWindowWorker()

func (*Engine) ProjectFilterWorker

func (e *Engine) ProjectFilterWorker()

func (*Engine) ProjectWorker

func (e *Engine) ProjectWorker()

func (*Engine) ReplayDistanceWindowWorker

func (e *Engine) ReplayDistanceWindowWorker()

func (*Engine) ReplayTimeWindowWorker

func (e *Engine) ReplayTimeWindowWorker()

If we have historic data, we process it as fast as possible.

func (*Engine) Run

func (e *Engine) Run()

func (*Engine) SessionWindowWorker

func (e *Engine) SessionWindowWorker()

func (*Engine) WindowWorker

func (e *Engine) WindowWorker()

type Window

type Window []*data.IngressRow

type WindowGroup

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

func CreateWindowGroup

func CreateWindowGroup(groupFieldNames []string) (wg WindowGroup)

func (*WindowGroup) AllGroupKeys

func (wg *WindowGroup) AllGroupKeys() (keys []string)

func (*WindowGroup) Append

func (wg *WindowGroup) Append(ingressRow *data.IngressRow)

func (*WindowGroup) Close

func (wg *WindowGroup) Close(groupKey string) (window Window, ok bool)

func (*WindowGroup) GroupKey

func (wg *WindowGroup) GroupKey(ingressRow *data.IngressRow) (key string)

func (*WindowGroup) IsOpen

func (wg *WindowGroup) IsOpen(groupKey string) (ok bool)

Jump to

Keyboard shortcuts

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