Skip to content

Commit 513a709

Browse files
committed
AMQP: Use exchange instead of queue for discovery
References msgflo/msgflo#13
1 parent 6a87305 commit 513a709

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/amqp.coffee

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,12 @@ class Client extends interfaces.MessagingClient
144144
protocol: 'discovery'
145145
command: 'participant'
146146
payload: part
147-
@channel.assertQueue 'fbp'
148-
data = new Buffer JSON.stringify msg
149-
@channel.sendToQueue 'fbp', data
150-
return callback null
147+
topic = 'fbp'
148+
@channel.assertExchange topic, 'fanout', (err) ->
149+
return callback err if err
150+
data = new Buffer JSON.stringify msg
151+
@channel.publish topic, data
152+
return callback null
151153

152154
class MessageBroker extends Client
153155
constructor: (address, options) ->
@@ -221,9 +223,12 @@ class MessageBroker extends Client
221223
data: data
222224
return handler out
223225

224-
@channel.assertQueue 'fbp'
225-
@channel.consume 'fbp', deserialize
226-
return callback null
226+
@channel.assertExchange 'fbp', 'fanout', {}, (err) =>
227+
return callback err if err
228+
@channel.assertQueue '.fbp-subscribe', { persistent: false }, (err) =>
229+
return callback err if err
230+
@channel.consume 'fbp', deserialize
231+
return callback null
227232

228233
exports.Client = Client
229234
exports.MessageBroker = MessageBroker

0 commit comments

Comments
 (0)