Ejemplo n.º 1
0
func RunAgentLocal(a agent.Agent, x, y, energy int) *AgentProxy {
	p2a := make(chan link.Message, 10)
	a2p := make(chan link.Message, 10)

	proxy := NewAgentProxy(p2a, a2p)
	proxy.SetState(cagent.NewAgentState(a.Id(), 0, *geo.NewPoint(x, y), Energy(energy)))
	go func() {
		agent.Run(a, a2p, p2a)
	}()
	return proxy
}
Ejemplo n.º 2
0
func NewSendMachine(freq uint8, agent agent.Agent) *SendMachine {
	self := &SendMachine{
		freq:       freq,
		logger:     logflow.NewSource(fmt.Sprintf("agent/wifi/send/%d", agent.Id())),
		agent:      agent,
		backoff:    BACKOFF,
		wait:       ROUTE_HOLDTIME,
		state:      2,
		next_state: 0,
		sendq:      NewDataGramQueue(),
	}
	return self
}