- connection's ping method now accepts requestTimeout, path, and method params like
all the grown-up API calls
- ConnectionPool now managed connection timeouts. When a connection dies a
timeout object is created to track when the timeout is scheduled and the function
to call when it does. It also tracks how many times it has run to allow the timeout
to grow
- Timeouts now grow with use of `config.calcDeadTimeout` which is set to 'exponential'
by default, but can also be set to flat in order to always use the standard
deadTimeout. Exponential growth of the deadTimeout is stopped at config.maxDeadTimeout
which is set to 30 minutes by default.
- Connections no longer have a resuscitate method (too hard to spell). Now the
method is created dynamically as a part of the timeout object as it just calls
the connection's ping method and needed to access variables like revive attempts.
- Timeouts were moved to the transport layer, meaning that you need to capture the
abort method and abort the request yourself if you are handling connections
directly, ConnectionsAbstract's ping method does this.
receive both the "message" and the "curlCommand".
Added a "tracer" logger which allows you to create log files that a executable scripts. Those scripts
will write all of the log messages as script comments, and not comment out the curlCommands, so that they
can trace their application and use the generated script to recreate the issue.
Most changes are simply cased by adding the "unused" rule to jshint.