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
30 lines
550 B
Go
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
|
|
}
|