I want to trigger retrywhen() with increasing time interval, 

```
   socketResponse.retryWhen(attempts => {
    return attempts.zip(Observable.range(1, 4)).mergeMap(([error, i]) => {
        console.log(`[socket] Wait ${i} seconds, then retry!`);
        if (i === 4) {
            console.log(`[socket] maxReconnectAttempts ${i} reached!`);
        }
        return Observable.timer(i * 1000);
    });
});

```

above code works fine.
current implementation output :

**on connection error** (1st time)

---

* [socket] Wait 1 seconds, then retry! // wait for 1 second
* [socket] Wait 2 seconds, then retry! // wait for 2 seconds

**on connection successful**

---

// successful connection. 

**on connection error** (2nd time) 

---

* [socket] **Wait 3 seconds**, then retry! // wait for 3 second
* [socket] **Wait 4 seconds**, then retry! // wait for 4 seconds

Now I want to reset waiting time when socket connection is successful. 

desired output :

**on connection error** (1st time)

---

* [socket] Wait 1 seconds, then retry! // wait for 1 second
* [socket] Wait 2 seconds, then retry! // wait for 2 seconds

**on connection successful** 

---

// successful connection. 

**on connection error** (2nd time) 

---

* [socket] **Wait 1 seconds**, then retry! // wait for 1 second
* [socket] **Wait 2 seconds**, then retry! // wait for 2 seconds

but I don't know how to reset retrywhen() time interval.