wip: parse & use config file, start Storage struct/interface
This commit is contained in:
committed by
=Michael Hohn
parent
c2480dc2f1
commit
5b324e092a
@@ -57,7 +57,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Read configuration
|
// Read configuration
|
||||||
config := mcc.LoadConfig("cconfig.toml")
|
config := mcc.LoadConfig("mcconfig.toml")
|
||||||
|
|
||||||
// Output configuration summary
|
// Output configuration summary
|
||||||
log.Printf("Help: %t\n", *helpFlag)
|
log.Printf("Help: %t\n", *helpFlag)
|
||||||
@@ -69,13 +69,13 @@ func main() {
|
|||||||
case "standalone":
|
case "standalone":
|
||||||
// Assemble single-process version
|
// Assemble single-process version
|
||||||
state := mci.State{
|
state := mci.State{
|
||||||
Commander: lcmem.Commander{},
|
Commander: &lcmem.Commander{},
|
||||||
Logger: llmem.Logger{},
|
Logger: &llmem.Logger{},
|
||||||
Queue: lqmem.Queue{},
|
Queue: &lqmem.Queue{},
|
||||||
Storage: lsmem.Storage{},
|
Storage: &lsmem.Storage{CurrentID: config.Storage.StartingID},
|
||||||
Runner: lrmem.Runner{},
|
Runner: &lrmem.Runner{},
|
||||||
}
|
}
|
||||||
main := lcmem.Commander{}
|
main := &lcmem.Commander{}
|
||||||
main.Setup(state)
|
main.Setup(state)
|
||||||
main.Run(state)
|
main.Run(state)
|
||||||
|
|
||||||
|
|||||||
@@ -2,4 +2,5 @@
|
|||||||
[logger]
|
[logger]
|
||||||
[queue]
|
[queue]
|
||||||
[storage]
|
[storage]
|
||||||
|
StartingID = 54673
|
||||||
[runner]
|
[runner]
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
package mcc
|
package mcc
|
||||||
|
|
||||||
type Storage struct {
|
type Storage struct {
|
||||||
|
StartingID int
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,11 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type System struct {
|
type System struct {
|
||||||
commander Commander
|
Commander Commander
|
||||||
logger Logger
|
Logger Logger
|
||||||
queue Queue
|
Queue Queue
|
||||||
storage Storage
|
Storage Storage
|
||||||
runner Runner
|
Runner Runner
|
||||||
}
|
}
|
||||||
|
|
||||||
func LoadConfig(fname string) *System {
|
func LoadConfig(fname string) *System {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
package mci
|
package mci
|
||||||
|
|
||||||
type Storage interface {
|
type Storage interface {
|
||||||
|
NextID() int
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Commander struct {
|
type Commander struct {
|
||||||
|
st mci.State // st points to this Commander instance. Circular, but needed.
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Commander) Run(st mci.State) {
|
func (c *Commander) Run(st mci.State) {
|
||||||
@@ -25,6 +26,7 @@ func (c *Commander) Run(st mci.State) {
|
|||||||
|
|
||||||
func (c *Commander) Setup(st mci.State) {
|
func (c *Commander) Setup(st mci.State) {
|
||||||
r := mux.NewRouter()
|
r := mux.NewRouter()
|
||||||
|
c.st = st
|
||||||
|
|
||||||
//
|
//
|
||||||
// First are the API endpoints that mirror those used in the github API
|
// First are the API endpoints that mirror those used in the github API
|
||||||
@@ -197,12 +199,15 @@ func (c *Commander) MirvaRequest(w http.ResponseWriter, r *http.Request) {
|
|||||||
slog.Info("New mrva run ", "owner", vars["owner"], "repo", vars["repo"])
|
slog.Info("New mrva run ", "owner", vars["owner"], "repo", vars["repo"])
|
||||||
// TODO Change this to functional style?
|
// TODO Change this to functional style?
|
||||||
// session := new(MirvaSession)
|
// session := new(MirvaSession)
|
||||||
// session.id = next_id()
|
session_id := c.st.Storage.NextID()
|
||||||
// session.owner = vars["owner"]
|
slog.Info("id: ", session_id)
|
||||||
// session.controller_repo = vars["repo"]
|
// session_owner = vars["owner"]
|
||||||
// session.collect_info(w, r)
|
// session_controller_repo = vars["repo"]
|
||||||
// session.find_available_DBs()
|
// session_collect_info(w, r)
|
||||||
// session.start_analyses()
|
|
||||||
// session.submit_response(w)
|
// session_find_available_DBs()
|
||||||
// session.save()
|
|
||||||
|
// session_start_analyses()
|
||||||
|
// session_submit_response(w)
|
||||||
|
// session_save()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,10 @@
|
|||||||
package lsmem
|
package lsmem
|
||||||
|
|
||||||
type Storage struct {
|
type Storage struct {
|
||||||
|
CurrentID int
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) NextID() int {
|
||||||
|
s.CurrentID += 1
|
||||||
|
return s.CurrentID
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user