engine: more performance improvements
This commit is contained in:
+6
-1
@@ -27,6 +27,7 @@ const (
|
||||
type engine struct {
|
||||
logger Logger
|
||||
io io.PacketIO
|
||||
macResolver *sourceMACResolver
|
||||
workers []*worker
|
||||
stats *statsCounters
|
||||
verdicts sync.Map // streamID(uint32) -> verdictEntry
|
||||
@@ -46,7 +47,7 @@ func NewEngine(config Config) (Engine, error) {
|
||||
}
|
||||
overflowPolicy := config.OverflowPolicy
|
||||
if overflowPolicy == "" {
|
||||
overflowPolicy = OverflowPolicyDrop
|
||||
overflowPolicy = OverflowPolicyAccept
|
||||
}
|
||||
selectionMode := config.AnalyzerSelectionMode
|
||||
if selectionMode == "" {
|
||||
@@ -80,6 +81,7 @@ func NewEngine(config Config) (Engine, error) {
|
||||
e := &engine{
|
||||
logger: config.Logger,
|
||||
io: config.IO,
|
||||
macResolver: macResolver,
|
||||
workers: workers,
|
||||
stats: stats,
|
||||
overflowPolicy: overflowPolicy,
|
||||
@@ -105,6 +107,9 @@ func (e *engine) Run(ctx context.Context) error {
|
||||
for _, w := range e.workers {
|
||||
go w.Run(ioCtx)
|
||||
}
|
||||
if e.macResolver != nil {
|
||||
go e.macResolver.Run(ioCtx)
|
||||
}
|
||||
go e.drainResults(ioCtx)
|
||||
go e.sweepVerdicts(ioCtx)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user