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 }
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 }