Skip to content

Commit

Permalink
[fix] Emit the reconnect failed event
Browse files Browse the repository at this point in the history
Fixes the argument parser to make it work with `emits@3`.
  • Loading branch information
lpinca committed Aug 28, 2015
1 parent d0bb08d commit cf44bea
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
4 changes: 2 additions & 2 deletions primus.js
Expand Up @@ -373,9 +373,9 @@ Primus.prototype.initialise = function initialise(options) {

primus.recovery
.on('reconnected', primus.emits('reconnected'))
.on('reconnect failed', primus.emits('reconnect failed', function failed(data) {
.on('reconnect failed', primus.emits('reconnect failed', function failed(next) {
primus.emit('end');
return data;
next();
}))
.on('reconnect timeout', primus.emits('reconnect timeout'))
.on('reconnect scheduled', primus.emits('reconnect scheduled'))
Expand Down
16 changes: 15 additions & 1 deletion test/transformer.base.js
Expand Up @@ -507,6 +507,20 @@ module.exports = function base(transformer, pathname, transformer_name) {
socket.on('end', done);
});

it('should receive a `reconnect failed` event when reconnection fails', function (done) {
var socket = new Socket(server.addr, {
reconnect: { min: 50, retries: 4 }
});

socket.on('open', function () {
primus.destroy({ reconnect: true });
});

socket.on('reconnect failed', function () {
done();
});
});

it('should reset the reconnect details after a successful reconnect', function (done) {
var socket = new Socket(server.addr, {
reconnect: { min: 100, max: 1000 }
Expand All @@ -533,7 +547,7 @@ module.exports = function base(transformer, pathname, transformer_name) {

primus = new Primus(server, {
pathname: server.pathname,
transformer: transformer,
transformer: transformer
});

server.listen(server.portnumber);
Expand Down

0 comments on commit cf44bea

Please sign in to comment.