Files
mrvacommander/pkg/queue/types.go
Michael Hohn 7e0d6909da wip: Make cross-module visibility explicit via Visibles structs
All access is/will be through interfaces accessed through these structs.

This introduces several distinct storage units:
+ DB for server state
+ DB for codeql databases
+ query pack store

The steps for manually creating needed databases are in the README
2024-06-07 13:14:41 -07:00

30 lines
550 B
Go

package queue
import (
"mrvacommander/pkg/common"
"mrvacommander/pkg/logger"
)
type QueueSingle struct {
NumWorkers int
jobs chan common.AnalyzeJob
results chan common.AnalyzeResult
modules *QueueVisibles
}
type QueueVisibles struct {
Logger logger.Logger
}
func (q *QueueSingle) Setup(v *QueueVisibles) {
q.modules = v
}
func NewQueueSingle(numWorkers int) *QueueSingle {
q := QueueSingle{}
q.jobs = make(chan common.AnalyzeJob, 10)
q.results = make(chan common.AnalyzeResult, 10)
q.NumWorkers = numWorkers
return &q
}