So, in this branch:
* reworked redialer:
* split Dialer into Dialer and Jitterer; only Jitterers are
jittered. Also removed String from the Dialer interface.
* moved the jitter default implementation to be the session's;
moved the test
* got rid of the AutoRedial/AutoRetry functions; always create an
AutoRedialer (via NewAutoRedialer) and use it.
* got rid of quitRedialing, because
* gave AutoRedialers a Stop() method that would do the right
thing.
* session:
* added AutoRedial, that sets up and launches an AutoRedialer on
itself.
* Close() now stops the AutoRedialer
* client & session:
* connectSession is now session.AutoRedial; got rid of the extra
channel needed to be able to stop it. Renamed the channel used
to communicate with the autoredialer for clarity.
* disconnectSession is now session.Close()
So, in this branch: AutoRetry functions; always create an
* reworked redialer:
* split Dialer into Dialer and Jitterer; only Jitterers are
jittered. Also removed String from the Dialer interface.
* moved the jitter default implementation to be the session's;
moved the test
* got rid of the AutoRedial/
AutoRedialer (via NewAutoRedialer) and use it.
* got rid of quitRedialing, because
* gave AutoRedialers a Stop() method that would do the right
thing.
* session:
* added AutoRedial, that sets up and launches an AutoRedialer on
itself.
* Close() now stops the AutoRedialer
* client & session:
* connectSession is now session.AutoRedial; got rid of the extra
channel needed to be able to stop it. Renamed the channel used
to communicate with the autoredialer for clarity.
* disconnectSession is now session.Close()