mirror of
https://github.com/dragonheim/gagent.git
synced 2025-06-28 01:38:15 -07:00
fix: (issues/7): Client is sending agent to router(s) and collecting response(s).
This commit is contained in:
parent
f67d6da01d
commit
4a93101d85
6 changed files with 33 additions and 19 deletions
|
@ -2,6 +2,8 @@ package client
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
|
@ -11,13 +13,19 @@ import (
|
|||
)
|
||||
|
||||
// Main is the initiation function for a Client
|
||||
func Main(config gs.GagentConfig, agent string) {
|
||||
func Main(config gs.GagentConfig, routerID int, agent string) {
|
||||
var mu sync.Mutex
|
||||
var rport = int(config.ListenPort)
|
||||
if config.Routers[routerID].RouterPort != "" {
|
||||
rport, _ = strconv.Atoi(config.Routers[routerID].RouterPort)
|
||||
}
|
||||
|
||||
fmt.Printf("Did we make it this far?\n")
|
||||
fmt.Printf("--|%#v|--\n", agent)
|
||||
log.Printf("--|%#v|--\n", agent)
|
||||
|
||||
connectString := fmt.Sprintf("tcp://%s", config.Routers[0].RouterAddr)
|
||||
connectString := fmt.Sprintf("tcp://%s:%d",
|
||||
config.Routers[routerID].RouterAddr,
|
||||
rport)
|
||||
log.Printf("Attempting to connect to %s\n", connectString)
|
||||
|
||||
sock, _ := zmq.NewSocket(zmq.DEALER)
|
||||
defer sock.Close()
|
||||
|
@ -36,7 +44,7 @@ func Main(config gs.GagentConfig, agent string) {
|
|||
mu.Lock()
|
||||
msg, err := sock.RecvMessage(zmq.DONTWAIT)
|
||||
if err == nil {
|
||||
fmt.Println(msg[0], config.UUID)
|
||||
log.Println(msg[0], config.UUID)
|
||||
}
|
||||
mu.Unlock()
|
||||
}
|
||||
|
|
|
@ -46,12 +46,20 @@ type RouterDetails struct {
|
|||
RouterID string `hcl:"uuid,attr"`
|
||||
|
||||
/*
|
||||
* This is the IP Address and port that the router
|
||||
* This is the IP address or hostname the router
|
||||
* will listen on. The router will start up a 0MQ
|
||||
* service that clients and workers will connect to.
|
||||
*/
|
||||
RouterAddr string `hcl:"address,attr"`
|
||||
|
||||
/*
|
||||
* This is the is the port that the router listens
|
||||
* on. If not defined, it will default to 35570
|
||||
* The router will start up a 0MQ service that
|
||||
* clients and workers will connect to.
|
||||
*/
|
||||
RouterPort string `hcl:"port,optional"`
|
||||
|
||||
/*
|
||||
* These tags will be passed to the router upon
|
||||
* connection. The router will then use these
|
||||
|
|
|
@ -37,6 +37,7 @@ func agentRouter(workerNum int) {
|
|||
// The DEALER socket gives us the reply envelope and message
|
||||
msg, _ := worker.RecvMessage(0)
|
||||
identity, content := pop(msg)
|
||||
log.Printf("Recieved message: %s", content)
|
||||
|
||||
// Send 0..4 replies back
|
||||
replies := rand.Intn(5)
|
||||
|
@ -51,7 +52,6 @@ func agentRouter(workerNum int) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// Main is the initiation function for a Router
|
||||
func Main(config gs.GagentConfig) {
|
||||
/*
|
||||
|
@ -84,4 +84,3 @@ func Main(config gs.GagentConfig) {
|
|||
err := zmq.Proxy(frontend, backend, nil)
|
||||
log.Fatalln("Proxy interrupted:", err)
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue