package
0.0.0-20230313083432-9f5628c12456
Repository: https://github.com/cn-tu/go-flows.git
Documentation: pkg.go.dev

# Functions

AtoSort converts a string to a sort type.
CleanupFeatures deletes _all_ feature definitions for conserving memory.
ExporterHelp displays help for a specific exporter (see module system in util).
FixType casts the value to the final type.
ListExporters returns a list of exporters (see module system in util).
ListFeatures creates a table of available features and outputs it to w.
MakeExporter creates an exporter instance (see module system in util).
MakeExportPipeline creates an ExportPipeline for a list of Exporters.
MakeIncompatibleVariantError returns a new error signifying an incompatible variant.
NewFlowTable returns a new flow table utilizing features, the newflow function called for unknown flows, and the active and idle timeout.
RegisterCompositeFeature registers a new composite feature with the given name.
RegisterControlFeature registers a control feature (i.e.
RegisterCustomFunction registers a function that needs custom type resolution to get the return type.
RegisterExporter registers an exporter (see module system in util).
RegisterFeature registers a new feature with the given IE.
RegisterFilterFeature registers a filter feature (i.e.
RegisterFunction registers a function (feature with arguments - e.g.
RegisterStandardCompositeFeature registers a composite feature (see RegisterCompositeFeature) that is part of the iana ipfix list.
RegisterStandardFeature registers a feature from the iana ipfix list.
RegisterStandardReverseFeature registers the reverse feature of the given name from the iana ipfix list (e.g.
RegisterStandardVariantFeature registers a feature that represents more than one information element depending on the data and is part of the iana ipfix list (e.g.
RegisterTemporaryCompositeFeature registers a composite feature (see RegisterCompositeFeature) that is not part of the iana ipfix list.
RegisterTemporaryFeature registers a feature that is not part of the iana ipfix list.
RegisterTimer registers a new timer and returns the new TimerID.
RegisterTypedFunction registers a function that has a specific return type.
RegisterVariantFeature registers a feature that represents more than one information element depending on the data.
ToFloat converts the given value to a float64.
ToInt converts the given value to a int64.
ToUInt converts the given value to an uint64.
UpConvert returns either two Signed64 or two Float64 depending on the numbers.
UpConvertInformationElements returns the upconverted InformationElement for numeric operations with 2 arguments.
UpConvertTypes returns the shared type of two types to which data must be converted to for operations.

# Constants

Const is a constant.
ControlFeature is a feature, that is called first and is able to modify Flow behaviour.
Ellipsis represents a continuation of the last argument.
FloatType represents float64.
FlowEndReasonActive active timeout as specified by RFC5102.
FlowEndReasonEnd end of flow as specified by RFC5102.
FlowEndReasonForcedEnd forced end of flow as specified by RFC5102.
FlowEndReasonIdle idle timeout as specified by RFC5102.
FlowEndReasonLackOfResources lack of resources as specified by RFC5102.
FlowFeature is a flow feature, i.e., emits one value per flow.
HoursInNanoseconds holds the time value of one hour.
IntType represents int64.
MatchType specifies that the argument type has to match the return type.
MicrosecondsInNanoseconds holds the time value of one microsecond.
MicrosecondsType represents DateTimeMicroseconds.
MillisecondsInNanoseconds holds the time value of one millisecond.
MillisecondsType represents DateTimeMilliseconds.
MinutesInNanoseconds holds the time value of one minute.
NanosecondsInNanoseconds holds the time value of one nanosecond.
NanosecondsType represents DateTimeNanoseconds.
NoVariant represents the value returned from Variant if this Feature has only a single type.
PacketFeature is a packet feature, i.e., emits one value per packet.
RawFlow is a flow from the flow source.
RawPacket is a packet from the packet source.
SecondsInNanoseconds holds the time value of one second.
SecondsType represents DateTimeSeconds.
Selection specifies a packet/flow selection.
SortTypeExpiryTime sorts flows by expiry time and in case of ties packet number of the last packet in the flow; last packet in case of eof.
SortTypeNone does no sorting (output order will be indeterministic).
SortTypeStartTime sorts flows by packet number of the first packet in the flow.
SortTypeStopTime sorts flows by packet number of the last packet in the flow.
UIntType represents uint64.

# Variables

TimerActive is the active timer of every flow.
TimerIdle is the idle timer of every flow.

# Structs

BaseFeature includes all the basic functionality to fulfill the Feature interface.
BaseFlow holds the base information a flow needs.
EmptyBaseFeature implements the feature interface with some added functionality to support the most basic operation (e.g.
EventContext holds additional data for an event (e.g.
ExportPipeline contains all functionality for merging results from multiple tables and exporting.
FeatureError gets returned from the feature parser and specifies the error message and includes information about feature number.
FlowOptions applying to each flow.
FlowTable holds flows assigned to flow keys and handles expiry, events, and flow creation.
MultiBaseFlowFeature extends BaseFeature with argument tracking.
MultiBasePacketFeature extends BaseFeature with event tracking.
NoopFeature implements the feature interface and represents a feature without built in functionality.
RecordListMaker holds metadata for instantiating a list of records with included features.
RecordMaker holds metadata for instantiating a record.
TableStats holds statistics for this table.

# Interfaces

Event describes a top level event (e.g., a single packet).
Exporter represents a generic exporter.
Feature interfaces, which all features need to implement.
FeatureWithArguments represents a feature that needs arguments (e.g.
Flow interface is the primary object for flows.
Record holds multiple features that belong to a single record.
Template holds the information elements of a record.

# Type aliases

DateTimeMicroseconds represents time in units of microseconds from 00:00 UTC, Januray 1, 1970 according to RFC5102.
DateTimeMilliseconds represents time in units of milliseconds from 00:00 UTC, Januray 1, 1970 according to RFC5102.
DateTimeNanoseconds represents time in units of nanoseconds from 00:00 UTC, Januray 1, 1970 according to RFC5102.
DateTimeSeconds represents time in units of seconds from 00:00 UTC, Januray 1, 1970 according to RFC5102.
FeatureType represents if the feature is a flow or packet feature.
FlowCreator is responsible for creating new flows.
FlowEndReason holds the flowEndReason as specified by RFC5102.
MakeFeature is a function that returns an instantiated Feature.
NumberType is used for differentiating between int uint float and different time types.
SortType specifies output sorting order.
TimerCallback is a function the gets called upon a timer event.
TimerID represents a single timer.
TypeResolver is a resolution function.