3rd-Eden/node-hashring — pull request #23 by rcoup (2014-09-22 06:28:14+00:00)
Title: Add `default_port` option for compatibility with libmemcached.

libmemcached ignores the default memcached port when hashing via ketama_weighted:
http://bazaar.launchpad.net/~tangent-trunk/libmemcached/1.2/view/head:/libmemcached/hosts.cc#L293

So, `['1.1.1.1:11211', '2.2.2.2:11211', '1.1.1.1:11212']` builds a an identical continuum to `['1.1.1.1', '2.2.2.2', '1.1.1.1:11212']` in libmemcached (using `ketama_weighted`). In node-hashring the port is *always* hashed, so there is an incompatibility if you specify `:11211` in your node-hashring server list.

To match the libmemcached behaviour, I added a `default_port` option, and if the server port matches the default port it isn't used in the continuum hash. ie:
```javascript
new HashRing(servers, 'md5', {default_port:11211})
```