This commit is contained in:
insanity@loafle.com 2017-08-04 12:11:38 +09:00
parent 4b03045eb5
commit 541ecfee2d

View File

@ -28,7 +28,7 @@ func main() {
wg.Wait() wg.Wait()
} }
type Agent struct { type Probe struct {
cm config_manager.ConfigManager cm config_manager.ConfigManager
taskCh chan interface{} taskCh chan interface{}
secKey string secKey string
@ -39,13 +39,13 @@ func StartAgent() {
bootstrap.HandleShell(stopch) bootstrap.HandleShell(stopch)
bootstrap.HandleSignal(stopch) bootstrap.HandleSignal(stopch)
agt := Agent{} agt := Probe{}
agt.startAgent() agt.startProbe()
agt.handleAgentStop(stopch) agt.handleProbeStop(stopch)
} }
func (agt *Agent) startAgent() { func (agt *Probe) startProbe() {
//1. cfg start() //1. cfg start()
cfgStarted := make(chan *config_manager.GlobalConfig, 1) cfgStarted := make(chan *config_manager.GlobalConfig, 1)
if err := cfg.Start(cfgStarted, PATH); err != nil { if err := cfg.Start(cfgStarted, PATH); err != nil {
@ -115,10 +115,10 @@ func (agt *Agent) startAgent() {
go agt.waitAgentTask() go agt.waitAgentTask()
} }
func (agt *Agent) handleAgentStop(ch chan bool) { func (agt *Probe) handleProbeStop(ch chan bool) {
go func() { go func() {
if <-ch { if <-ch {
agt.stopAgent() agt.stopProbe()
log.Info("Agent has stopped.") log.Info("Agent has stopped.")
log.Flush() log.Flush()
close(ch) close(ch)
@ -127,7 +127,7 @@ func (agt *Agent) handleAgentStop(ch chan bool) {
}() }()
} }
func (agt *Agent) waitAgentTask() { func (agt *Probe) waitAgentTask() {
for { for {
d := <-agt.taskCh d := <-agt.taskCh
task := d.(msg.AgentTask) task := d.(msg.AgentTask)
@ -165,14 +165,14 @@ func (agt *Agent) waitAgentTask() {
} }
} }
func (agt *Agent) processCollectingData(ch chan interface{}) { func (agt *Probe) processCollectingData(ch chan interface{}) {
for { for {
data := <-ch data := <-ch
dat.AddData(data) dat.AddData(data)
} }
} }
func (agt *Agent) stopAgent() { func (agt *Probe) stopProbe() {
//col stop() //col stop()
colStopped := make(chan bool, 1) colStopped := make(chan bool, 1)
col.Stop(colStopped) col.Stop(colStopped)
@ -205,7 +205,7 @@ func (agt *Agent) stopAgent() {
} }
func (agt *Agent) processStartSensor(task msg.AgentTask) { func (agt *Probe) processStartSensor(task msg.AgentTask) {
id := task.Params["sensorId"] id := task.Params["sensorId"]
if err := col.StartSensor(id); err != nil { if err := col.StartSensor(id); err != nil {
log.Error(err) log.Error(err)
@ -215,7 +215,7 @@ func (agt *Agent) processStartSensor(task msg.AgentTask) {
evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil}) evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil})
} }
func (agt *Agent) processStopSensor(task msg.AgentTask) { func (agt *Probe) processStopSensor(task msg.AgentTask) {
id := task.Params["sensorId"] id := task.Params["sensorId"]
if err := col.StopSensor(id); err != nil { if err := col.StopSensor(id); err != nil {
log.Error(err) log.Error(err)
@ -224,7 +224,7 @@ func (agt *Agent) processStopSensor(task msg.AgentTask) {
evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil}) evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil})
} }
func (agt *Agent) processAddSensor(task msg.AgentTask) { func (agt *Probe) processAddSensor(task msg.AgentTask) {
path := task.Params["path"] path := task.Params["path"]
id := task.Params["id"] id := task.Params["id"]
cfg.AddSensor(path) cfg.AddSensor(path)
@ -236,7 +236,7 @@ func (agt *Agent) processAddSensor(task msg.AgentTask) {
evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil}) evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil})
} }
func (agt *Agent) processRemoveSensor(task msg.AgentTask) { func (agt *Probe) processRemoveSensor(task msg.AgentTask) {
id := task.Params["sensorId"] id := task.Params["sensorId"]
err := col.RemSensor(id) err := col.RemSensor(id)
if err != nil { if err != nil {
@ -248,7 +248,7 @@ func (agt *Agent) processRemoveSensor(task msg.AgentTask) {
evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil}) evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil})
} }
func (agt *Agent) processUpdateSensor(task msg.AgentTask) { func (agt *Probe) processUpdateSensor(task msg.AgentTask) {
path := task.Params["path"] path := task.Params["path"]
id := task.Params["id"] id := task.Params["id"]
if err := col.StopSensor(id); err != nil { if err := col.StopSensor(id); err != nil {
@ -264,19 +264,19 @@ func (agt *Agent) processUpdateSensor(task msg.AgentTask) {
evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil}) evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil})
} }
func (agt *Agent) processUpdateCRM(task msg.AgentTask) { func (agt *Probe) processUpdateCRM(task msg.AgentTask) {
//(loop)col stopSensor() //(loop)col stopSensor()
//crm updateCRM() //crm updateCRM()
//(loop)col startSensor() //(loop)col startSensor()
evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil}) evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil})
} }
func (agt *Agent) processUpdateAgent(task msg.AgentTask) { func (agt *Probe) processUpdateAgent(task msg.AgentTask) {
//Todo. Updating agent //Todo. Updating agent
evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil}) evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil})
} }
func (agt *Agent) processSendLog(task msg.AgentTask) { func (agt *Probe) processSendLog(task msg.AgentTask) {
//Todo. Sending logs //Todo. Sending logs
evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil}) evt.AddEventData(msg.Event{msg.EVT_TYPE_TASK, task.Params["id"], nil})
} }