index.js
function Client (options) {
    var self = this;
    options = options || {};

    this.mid = 0;
    this.callbacks = {};

    this.socket = new net.Socket(options);
    replier._migrate_events(['connect', 'error', 'end', 'timeout', 'close', 'drain'], this.socket, this);

    this.socket.on('data', function (data) {
        dealStream(data, function(msg){
            self.emit('data', msg);
            self._dealServerData(msg);
        });
    });
}
function Client (options) {
    var self = this;
    options = options || {};

    this.mid = 0;
    this.callbacks = {};

    this.socket = new net.Socket(options);
    replier._migrate_events(['connect', 'error', 'end', 'timeout', 'close', 'drain'], this.socket, this);

    this.socket.on('data', function (data) {
        dealStream(data, function(msg){
            self.emit('data', msg);
            self._dealServerData(msg);
        });
    });
}
function Client ( options ) { var self = this ; options = options || { } ; this . mid = 0 ; this . callbacks = { } ; this . socket = new net . Socket ( options ) ; replier . _migrate_events ( [ 'connect' , 'error' , 'end' , 'timeout' , 'close' , 'drain' ] , this . socket , this ) ; this . socket . on ( 'data' , function ( data ) { dealStream ( data , function ( msg ) { self . emit ( 'data' , msg ) ; self . _dealServerData ( msg ) ; } ) ; } ) ; }
- retry {number} - 0: no retries, default - >0: max retry times - -1: no limit - retry_timeout: {number} default to `100` ms
- retry { number } - 0 : no retries default - > 0 : max retry times - - 1 : no limit - retry_timeout : { number } default to 100 ms