func main() { runtime.GOMAXPROCS(runtime.NumCPU()) devConnManager := common.NewSafeMap() config := GateWayConfig{dmAddr: "localhost", dmPort: "7373", deviceAddr: "localhost", devicePort: "8384", appAddr: "localhost", appPort: "9394"} // outer device service dependency devManager := server.NewDevicePKManager(config.dmAddr+":"+config.dmPort, "zc-dm") if devConnManager == nil || devManager == nil { log.Fatal("device connection manager and device manager failed") return } // device gateway server start deviceServer := server.NewDeviceGatewayServer(devConnManager, devManager) if deviceServer == nil { log.Fatal("new device gateway server failed") return } go deviceServer.Start(config.deviceAddr + ":" + config.devicePort) go Monitor(devConnManager) // app gateway service start var serverConfig = &zc.ZServiceConfig{Port: config.appPort} appService := NewAppGatewayService(devConnManager, serverConfig) if appService == nil { log.Fatal("new app gateway service failed") return } appService.Start() }
func NewConnection(socket net.Conn, maxLen int, devs *DevicePKManager) *Connection { return &Connection{ exit: false, socket: socket, devRequestId: 0, deviceManager: devs, requestMap: common.NewSafeMap(), requestQueue: make(chan common.Message, maxLen), emptyRespQueue: make(chan common.Message, maxLen), } }