github.com/Cloud-Foundations/Dominator@v0.3.4/lib/filegen/manager.go (about)

     1  package filegen
     2  
     3  import (
     4  	"github.com/Cloud-Foundations/Dominator/lib/log"
     5  	"github.com/Cloud-Foundations/Dominator/lib/mdb"
     6  	"github.com/Cloud-Foundations/Dominator/lib/objectserver/memory"
     7  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     8  	proto "github.com/Cloud-Foundations/Dominator/proto/filegenerator"
     9  )
    10  
    11  type rpcType struct {
    12  	manager *Manager
    13  }
    14  
    15  func newManager(logger log.Logger) *Manager {
    16  	m := new(Manager)
    17  	m.pathManagers = make(map[string]*pathManager)
    18  	m.machineData = make(map[string]mdb.Machine)
    19  	m.clients = make(
    20  		map[<-chan *proto.ServerMessage]chan<- *proto.ServerMessage)
    21  	m.objectServer = memory.NewObjectServer()
    22  	m.logger = logger
    23  	m.registerMdbGeneratorForPath("/etc/mdb.json")
    24  	srpc.RegisterName("FileGenerator", &rpcType{m})
    25  	return m
    26  }