Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Comcast/rulio
/ types & classes
Types & classes
159 in github.com/Comcast/rulio
⨍
Functions
1,122
◇
Types & classes
159
↓ 5 callers
TypeAlias
Bindings
Bindings is a map from variables (strings starting with a '?') to their values.
core/match.go:37
↓ 4 callers
TypeAlias
LogLevel
Core logging granularity We have several ubiquitous dimensions for log records. Severity, "origin", and component. "Origin" should indicate the sou
core/log.go:114
↓ 4 callers
TypeAlias
Map
Map is a generic event, pattern, or fact. Kinda wants to be a transparent typedef.
core/util.go:525
↓ 3 callers
TypeAlias
Duration
Duration allows us to parse strings into durations. See Duration.UnmarshalJSON().
core/control.go:135
↓ 1 callers
Struct
Action
Action is something that a rule performs.
core/actions.go:28
↓ 1 callers
TypeAlias
DeviceTypeName
tools/sim/gen.go:293
↓ 1 callers
TypeAlias
Fact
tools/sim/gen.go:389
↓ 1 callers
Interface
Matcher
Matcher defines an interface for pattern matching algorithms to be used by core.
core/match.go:41
↓ 1 callers
TypeAlias
Rule
tools/sim/gen.go:378
↓ 1 callers
TypeAlias
ThingSlice
ThingSlice is a slice of interfaces. This type exists because we need to sort homogeneous arrays with various element types, and we don't want to cop
core/patternindex.go:154
Struct
APIProcessEventRequest
APIProcessEventRequest helps to serialize a request for the simple ProcessEvent HTTP API.
cron/croltglue.go:57
Struct
Account
tools/sim/gen.go:295
Struct
Accumulator
Accumulator is sliding buffer. As it fills, older entries slide off the back. Not synchronized.
core/util.go:261
Interface
ActionInterpreter
ActionInterpreter can make a thunk, which can then be executed to interpret an action. The map of available ActionInterpreters is at Location.Control
core/actions.go:300
FuncType
AddHookFn
func(ctx *Context, state State, id string, fact Map, loading bool) error
core/state.go:27
Struct
AndQuery
core/query.go:551
Interface
App
core/context.go:27
Struct
BashActionInterpreter
BashActionInterpreter is an example action interpreter for Bash scripts. Bindings are added to the environment with variable names that start with an
rulesys/main.go:378
Struct
BindingApp
core/events_test.go:209
Struct
BoltStorage
BoltStorage implements Storage using boltdb This name stutters because it's convenient to dot-import core, which defines 'Storage'.
storage/bolt/bolt.go:32
Interface
Breaker
Breaker is the basic interface for a simple circuit breaker. You can get status, submit work, and disable a circuit breaker.
core/breaker.go:38
Struct
BreakerStatus
BreakerStatus is used instead of return several values from Status().
core/breaker.go:62
Struct
Cache
core/cache.go:25
Struct
CacheTester
core/cache_test.go:63
Struct
CachedLocation
CachedLocation mostly provides a mutex associated with the target location. That mutex allows use to block only on this specific location when openin
sys/system.go:191
Struct
CachedLocations
CachedLocations is just that: a location cache keyed by name. We have this struct in part to have a mutex dedicated to this state.
sys/system.go:71
Struct
CassStorage
CassStorage implements Storage using Cassandra. This name stutters because it's convenient to dot-import core, which defines 'Storage'.
storage/cassandra/cassandra.go:41
Struct
CassandraDBConfig
CassandraDBConfig does what'd you'd think. This name stutters because it's convenient to dot-import core, which defines 'Storage'.
storage/cassandra/cassandra.go:50
Struct
CastMatcher
CastMatcher is a wrapper for casting Map values to map[string]interface{}, and slices to []interface{}.
core/match.go:67
TypeAlias
Choose
tools/sim/gen.go:81
TypeAlias
CleanAction
core/actions.go:65
TypeAlias
CleanRule
core/rules.go:111
Struct
CodeQuery
core/query.go:93
Struct
ComboBreaker
ComboBreaker is a bunch of Breakers considered as one. A ComboBreaker's status is based on the worst of its constituent breaker's statuses.
core/breaker.go:271
Struct
CommandSpec
core/javascript.go:430
Struct
Condition
core/errors.go:28
Struct
Config
Config are read-only, boot-time settings. Once specified, these settings cannot be changed.
core/control.go:27
Struct
ConnStates
service/httpd.go:467
Struct
Context
core/context.go:54
Struct
Control
SystemControl represents ephemeral control options. These settings are process-specific and not stored. Note that all of these values are simple (no
core/control.go:35
Struct
Counter
tools/sim/main.go:176
Struct
Counter
core/events.go:336
Struct
CroltJob
CroltJob is the structure of a Crolt job. We could use the actual Crolt type. Instead, we pretend that we don't have access to it.
cron/croltglue.go:45
Struct
CroltSimple
cron/croltglue.go:32
Struct
Cron
Cron implements a little in-memory cron system. Not persistent; not fair.
cron/cron.go:169
Struct
Cron
crolt/cron.go:43
Struct
CronBroadcaster
CronBroadcaster can broadcast a signal to multiple Cron instances. The basis for the implementation was suggested by Bill. All channel readers hear
cron/cron.go:64
Struct
CronJob
CronJob packages up the basics for a job. In particular, we need a Go function that defines the work to be performed.
cron/cron.go:122
Interface
Cronner
Cronner is a generic cron service. We'll probably add some other methods later. For example, we might want a method that enables us to remove all jo
cron/generic.go:94
Struct
DeviceType
tools/sim/gen.go:236
Struct
DeviceTypes
tools/sim/gen.go:264
Struct
Dialer
tools/sim/main.go:196
Struct
Dialer
Instrumented Dialer.
storage/dynamodb/dynamodb.go:115
Struct
DynamoDBConfig
DynamoDBConfig does what'd you'd think. This name stutters because it's convenient to dot-import core, which defines 'Storage'.
storage/dynamodb/dynamodb.go:241
Struct
DynamoDBStorage
DynamoDBStorage implements Storage using DynamoDB. Duh. This name stutters because it's convenient to dot-import core, which defines 'Storage'.
storage/dynamodb/dynamodb.go:174
Struct
EmptyQuery
core/query.go:353
Struct
EvalRule
core/events.go:140
Struct
EvalRuleCondition
core/events.go:181
TypeAlias
Event
tools/sim/gen.go:188
Struct
EventSpec
tools/sim/gen.go:190
Struct
ExecRuleAction
core/events.go:261
Struct
ExpiredError
core/errors.go:60
Interface
FactService
core/query.go:367
Struct
FactServiceFromURI
Want anonymous interface implementations.
core/query.go:373
Struct
FindRules
core/events.go:26
Struct
Frequency
tools/sim/gen.go:158
Struct
Generate
tools/sim/gen.go:110
Struct
GenericQuery
core/query.go:816
TypeAlias
GroupControls
GroupControls maps a group to a 'core.Control'. Used to be called 'LocControls'
sys/system.go:50
Struct
HTTPClientSpec
HTTPClientSpec packages up all configuration for an HTTP request. This configuration includes settings such as ResponseHeaderTimeout that are below th
core/http.go:79
Struct
HTTPRequest
HTTPRequest packages up all data required to make an HTTP request (that can retry). Use 'NewHTTPRequest' to make one. We no longer do/control retrie
core/http.go:123
Struct
HTTPResult
HTTPResult packages up everything we return to the caller of an HTTPRequest. We're trying to use only basic field types for the convenience of Javasc
core/http.go:208
Struct
HTTPService
Parameter
service/httpd.go:43
Struct
HeaderApp
core/http_test.go:144
Struct
IndexedState
core/state_indexed.go:34
Struct
InternalCron
InternalCron just wraps an internal cron so it can be a Cronner.
cron/internal.go:33
Struct
Job
crolt/cron.go:112
Struct
Latencies
tools/sim/percentiles.go:11
Struct
LatencyStats
tools/sim/percentiles.go:103
Struct
LinearState
core/state_linear.go:31
Struct
Listener
service/httpd.go:86
FuncType
LocToGroup
LocToGroup maps a location name to a group name. Used to be called 'GroupMap'.
sys/system.go:45
Struct
Location
core/location.go:29
Interface
LocationProvider
core/location.go:983
FuncType
LogHook
func(level LogLevel, args ...interface{})
core/log.go:464
Interface
Logger
Logger is a simple interface to a mostly generic logging functionality.
core/log.go:76
Struct
MemStorage
MemStorage is a in-memory-only implementation of Storage.
core/storage_mem.go:24
Struct
NoStorage
Implementation of Storage that does nothing at all.
core/storage_none.go:21
Struct
NoopLogger
core/loggers.go:25
Struct
Normal
tools/sim/gen.go:40
Struct
NotFoundError
core/errors.go:95
Struct
NotQuery
core/query.go:699
Struct
OrQuery
core/query.go:621
Struct
OttoActionInterpreter
OttoActionInterpreter is an example ActionInterpreter that does the same thing (currently) as the built-in "javascript" interpreter.
core/actions.go:312
Struct
OutboundBreaker
OutboundBreaker is a very simple circuit breaker. An OutboundBreaker is used to control what this process does to other components or processes. It
core/breaker.go:93
Struct
Pair
ToDo: Use this less
core/storage.go:24
Struct
Parameters
Parameters is a package of almost const parameters.
core/vars.go:54
Struct
PatternIndex
PatternIndex is the state for our in-memory pattern store. It indexes patterns. When given an event (or fact), this index should find candidates for
core/patternindex.go:52
Struct
PatternQuery
core/query.go:362
FuncType
PointHook
func(ctx *Context, namespace string, metric string, val interface{}, unit string, more ...string)
core/log.go:579
next →
1–100 of 159, ranked by callers