1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 02:09:32 +02:00

Make all zmq endpoints use srv records.

This commit is contained in:
Simo Kinnunen 2014-12-17 21:01:20 +09:00
parent f0aae7d4e5
commit e43ae34d4b
8 changed files with 118 additions and 32 deletions

View file

@ -1,3 +1,4 @@
var Promise = require('bluebird')
var zmq = require('zmq')
var logger = require('../../util/logger')
@ -6,6 +7,7 @@ var wirerouter = require('../../wire/router')
var wireutil = require('../../wire/util')
var dbapi = require('../../db/api')
var lifecycle = require('../../util/lifecycle')
var srv = require('../../util/srv')
module.exports = function(options) {
var log = logger.createLogger('processor')
@ -16,9 +18,14 @@ module.exports = function(options) {
// App side
var appDealer = zmq.socket('dealer')
options.endpoints.appDealer.forEach(function(endpoint) {
log.info('App dealer connected to %s', endpoint)
appDealer.connect(endpoint)
Promise.map(options.endpoints.appDealer, function(endpoint) {
return srv.resolve(endpoint).then(function(records) {
return srv.attempt(records, function(record) {
log.info('App dealer connected to "%s"', record.url)
appDealer.connect(record.url)
return Promise.resolve(true)
})
})
})
appDealer.on('message', function(channel, data) {
@ -27,9 +34,14 @@ module.exports = function(options) {
// Device side
var devDealer = zmq.socket('dealer')
options.endpoints.devDealer.forEach(function(endpoint) {
log.info('Device dealer connected to %s', endpoint)
devDealer.connect(endpoint)
Promise.map(options.endpoints.devDealer, function(endpoint) {
return srv.resolve(endpoint).then(function(records) {
return srv.attempt(records, function(record) {
log.info('Device dealer connected to "%s"', record.url)
devDealer.connect(record.url)
return Promise.resolve(true)
})
})
})
devDealer.on('message', wirerouter()