commit 6d3af180ecec85c267e60770616ca3d382d84a33
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Apr 30 01:12:23 2008 -0700

    Updated to 2.0.2 for new binary protocol changes.

commit df68e4ea4524a890ed65f64dd3bc4a7d14ad64bf
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Mar 31 23:23:44 2008 -0700

    Updated version to 2.0.1 (better late than never).

commit 5acd91c004fa8f0b12e35f14dc6e72e945435dca
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Apr 25 11:42:54 2008 -0700

    Format updates from the latest hackathon.

commit 6fed0463f117f507dc1e1370b8471f039d50e2f1
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Mar 30 16:53:52 2008 -0700

    Ignore junit temp files.

commit ab779ce181d1aa4630d3b225768bcbe23779a617
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Mar 30 15:45:25 2008 -0700

    Updating the response magic byte to match the spec.
    
    The server will match the spec in this regard real soon now.

commit f3b0127b9b4430033444a0793818b0f02d3c5580
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 25 09:33:30 2008 -0700

    Updated the comment since incr/decr is properly defined.

commit c0b909b75a1690aab9f63a9b381b21a1c932f124
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 25 09:29:27 2008 -0700

    Added a couple of tests to increase invalid key coverage

commit 6ad37945a4d8c6e6fb1d783b3e4fa1bc5469b189
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 25 09:15:55 2008 -0700

    Added assertions and exceptions around client creation.
    
    Also added a bunch of tests to ensure these are doing the right thing.

commit c4a1e1a76445d5563dea25417529f7d88c483c2e
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 18 21:45:29 2008 -0700

    Binary protocol alignment changes.

commit 66404fe4b5645ec779ff5094da0c54c77c447574
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Mar 12 09:00:23 2008 -0700

    Make use of the supplied expiration date in CASMutator.

commit 8d4dd42a36a750490d6ec49289e6f360ea3a475e
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Mar 13 23:42:11 2008 -0700

    Added a manual test to try to reproduce a problem.

commit f1fd25e05a128be4e15aa4c5c3388350058f4c32
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Mar 9 00:04:12 2008 -0800

    Added package.html for transcoders.

commit 7bdbb14cd932a5d0f35916cccc7162c4c9168ffb
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Mar 9 00:01:28 2008 -0800

    Get the transcoders using the same flags.

commit 2b8ac04fd95d881bad94bfee7e46faa554cdc9b1
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 8 23:25:03 2008 -0800

    Set version to 2.0

commit f757bdc574938efb492189612fec4d9c25f2d4cb
Author: Blair Zajac <blair@orcaware.com>
Date:   Wed Mar 5 13:55:24 2008 -0800

    Remove the transcoder parameter from the Javadoc for two methods.
    
    These methods do not take a transcoder argument.

commit e236160e4e9082171a7807bdf16693c36c90e2b6
Merge: eea9142... bbf0dd4...
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Mar 5 09:28:01 2008 -0800

    Merge branch 'master' into new_intf

commit bbf0dd4df3ba43820c0b4034b05615bfbfb1116e
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Mar 5 09:27:51 2008 -0800

    Build a docs and source package when packaging.

commit eea91426311c1b57603213d79c82ee66c14bec6a
Merge: d9c628a... 56f1d99...
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 4 23:41:06 2008 -0800

    Merge branch 'master' into new_intf

commit 56f1d998a296e82610e6561843a363a17db11b4e
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 4 23:39:50 2008 -0800

    Don't allow CAS to run forever.
    
    The user may supply a maximum number of attempts.  Currently, it
    doesn't know *why* a failure occurs, but it at least doesn't hang
    forever.
    
    Conflicts:
    
    	src/main/java/net/spy/memcached/CASMutator.java
    	src/main/java/net/spy/memcached/MemcachedClient.java
    	src/main/java/net/spy/memcached/SerializingTranscoder.java
    	src/main/java/net/spy/memcached/transcoders/LongTranscoder.java
    	src/test/java/net/spy/memcached/CASMutatorTest.java

commit d9c628ad57769c8c2fbcb0ecc04b909247fd4e8d
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 4 23:28:04 2008 -0800

    Increased test coverage.

commit 3a8db35391413268cee06e1b15faac577a40897c
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 4 22:17:56 2008 -0800

    Added tests for new transcoders.

commit 4e36dce179bde3e1e656925a4523ece3277cf66e
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 4 21:33:08 2008 -0800

    Don't allow CAS to run forever.
    
    The user may supply a maximum number of attempts.  Currently, it
    doesn't know *why* a failure occurs, but it at least doesn't hang
    forever.

commit c46835224198b3eda37a5433ad7658459c880a2c
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 4 21:00:42 2008 -0800

    Documentation for new client methods.

commit 3922c4e595704b4b0e2317d40132ebbc969c6a65
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Mar 4 20:48:41 2008 -0800

    Some minor cleanup to get eclipse happy.

commit 66bca07ecb4cc368cf817bd7734c4e63cd8a553b
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 17:11:32 2008 -0800

    New Transcoder for java.lang.Integer's.

commit 3636c12337efa2041c2489121d3f03ab2c262671
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 17:08:35 2008 -0800

    Change four spaces to a single tab to be consitent with all the other
    code.

commit 689c871da188c7de07e986e8bd1065e8543cb27c
Merge: 2f6a4f5... ee6f4b3...
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 17:05:36 2008 -0800

    Merge branch 'master' of http://www.orcaware.com/git/java-memcached-client/

commit ee6f4b3408817df5846de58a6b028818c2c06a35
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 17:03:35 2008 -0800

    Make CASValue parameterized in T.  Do this by requiring a Transcoder
    argument for CASMutator's contrustor.  This removes the need for casts
    In CASMutator.  Use the new LongTranscoder in the test suite.

commit e090536b5aa772cff337c9b72948c2f8ec53f582
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 16:58:44 2008 -0800

    Add a LongTranscoder that transcodes Longs.

commit bc278d0c1b45c846104ff88fe9d8439f04d82c79
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 16:28:06 2008 -0800

    Remove the encode*() and decode*() methods from SerializingTranscoder and
    use the same methods from TranscoderUtils.

commit 9520f6f1c1f2e279d33dc823643ba6b1e855c44c
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 15:57:06 2008 -0800

    Update a javadoc for the MemcachedClient's transcoder argument.

commit 2f6a4f5d813fdbba7c8ca34cdd5cfbd539bf7b4e
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 15:50:13 2008 -0800

    Add a new transcoder for Long's.

commit 7d2794340de7b1b16c69cc13b1c0399131334c30
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 15:40:36 2008 -0800

    Add two utility methods to take any integer or long and hash it into a
    value safe for use as a memcached flags value.

commit 7dd7ce0e3a875fe276ffab810a2fa4ce10c86dad
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 15:26:10 2008 -0800

    Remove unused imports in TranscoderUtils.java.

commit 6ee12818a1c9e4097cae3d59862bd97ad419e53e
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 15:20:14 2008 -0800

    Move the encode*() and decode*() methods in SerializingTranscoder.java
    into a new class and make them static.  This will allow other transcoders
    to use them.

commit f7cece39de56994bd4d980fd9a2ac2ac421bf517
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 14:52:25 2008 -0800

    Move Transcoder and SerializingTranscoder into a new
    net.spy.memcached.transcoders package.  This gives space to write
    transcoders for many native types, which will allow for compile-time
    checks.

commit e2f04bac82f86417e5f4390a75a097c97b86aa4a
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 14:07:28 2008 -0800

    Add parameterized versions of all the MemcachedClient methods.
    
    The new methods all take a Transcoder<T> and if they returned an
    Object, now return a T instead.
    
    The non-paramterized methods use the SerializingTranscoder which
    has T as an Object and calls the parameterized ones, so callers
    should not see a change in behavior.

commit 204eed2c92dedc6047e21676e8c3c601b6ff4c3d
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 11:35:37 2008 -0800

    * src/main/java/net/spy/memcached/MemcachedClient.java
      (setTranscoder):
        Rename the to argument to tc to be consistent with the variable names
        in src/test/java/net/spy/memcached/SerializingTranscoderTest.java.
    Rename the

commit bd59dde37ba5c1261cee0c6fd538abba475d0cd2
Author: Blair Zajac <blair@orcaware.com>
Date:   Tue Mar 4 11:27:42 2008 -0800

    Change the Transcoder interface to be parameterized by the type of objects
    it serializes.  This will allow for custom Transcoders to be used in
    methods and stronger compile-time warnings.
    
    The default SerializingTranscoder implements Transcoder<Object>.

commit 66eef222ddd481187a6dae96e00369860ac3f005
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Mar 3 19:41:43 2008 -0800

    Guard against duplicate shutdown attempts.
    
    Only actually perform the last one.
    
    http://code.google.com/p/spymemcached/issues/detail?id=8

commit 5fb9f4aefa09a3c3a52aa25a8b63a8d7fc374ddc
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 1 22:25:11 2008 -0800

    Updated the docs to point to the google code page.

commit 934efb9e0cfe766bb01e50a9d18cc453849ff86c
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 1 21:59:50 2008 -0800

    Removed TODO, moved to an issue tracker.

commit baf89a9fb0f9e90b011d5505a7407332634998a7
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 21:45:28 2008 -0800

    Updating version in buildfile

commit 5838411c0091a2cfc923c24bddecbe25711d32ab
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 21:19:25 2008 -0800

    Removed a done TODO item.

commit cded86c0bde4d3e042bfa71c81b8230a4ec46163
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 18:45:50 2008 -0800

    Now that protocol discovery is committed, use the same port for
    testing both protocols.

commit 1ee97bc65c54ff964b1a7474f79f865524a44d4f
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 17:50:39 2008 -0800

    Slightly cleaner shutdown sequence.
    
    This avoids a couple of the exceptions that were occuring on shutdown
    due to lack of coordination (just allowing the NIO exceptions to tear
    stuff down), and downgrades others to debug as we can expect things to
    error occasionally when the plug is pulled.

commit 7615734608fb6d07a01982a793c1a624a9f7be23
Merge: 40e3cfb... 3dd8fce...
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 16:46:42 2008 -0800

    Merge commit 'origin/cas'

commit 40e3cfb635a04ea4d497d12eeec80693dfa57f1c
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 16:44:35 2008 -0800

    Updated TODO re: interface

commit 94452fad93481f989924f9cacb4b20593963fcd5
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 16:40:46 2008 -0800

    Updated TODO re: shutdown

commit 19a283341f2bfff33962f8c0781744aaf5d99183
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 14:15:18 2008 -0800

    Updated repository location.

commit 3dd8fce0724be1feec817d98d9d8dd50c5c82f88
Merge: e2b222d... 3ba4006...
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 13:56:57 2008 -0800

    Merge branch 'master' into cas

commit 3ba40062796e83074b4f7951a24e48782b9edaeb
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 13:56:00 2008 -0800

    Added a .gitignore

commit 081f0ac037bc3b97efbf2e04cd2451b4ea00f690
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 13:55:44 2008 -0800

    Updated build tools for git.

commit 1c8e7f5a675d4aaca328bcb79866969191a3ab60
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 29 13:26:17 2008 -0800

    Removed .hg files.

commit e2b222d1ac8e8967e457db6b422efd9830c34dcc
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 25 23:24:05 2008 -0800

    Reduced visibility of some internal classes.

commit a2d7ace24909c4afa8b151af48a6c45174e071fc
Merge: c869dfe... f9e3701...
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 25 23:18:42 2008 -0800

    merged doc updates from default.

commit c869dfed0de5d1cd0d1b0a38bfa11d50457d9485
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 25 23:16:23 2008 -0800

    Updated some docs and object visibility.

commit f9e37011be486509fa45a0d2f2f68acbaef050bd
Merge: 0f3d833... 3158eac...
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 25 23:08:21 2008 -0800

    merged from default.

commit 0f3d8334119d6b0d49c250fa2b1e3cc18898c12a
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 25 23:08:07 2008 -0800

    Adding package.html to some missing packages.

commit 3158eaca6b26066aaa61584cb25ac05ad99b0982
Merge: faf8dd4... e4fcf07...
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 25 23:00:43 2008 -0800

    Merged ipv6 work from default.

commit faf8dd4743a02145d97e6de653596647e4236fc6
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 25 22:59:11 2008 -0800

    Run the client tests against ipv6 as well as ipv4

commit 98c0e69ff828ad6044c841c8111aea1274175d29
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 25 22:57:52 2008 -0800

    Change addr util to deal with IPv6 parsing.

commit e4fcf070a894f7c4b31c7be0516b0115b3a127a4
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 22 18:39:39 2008 -0800

    Document cas tools better.

commit 0fdddaef278db17609ed1ef5b749ca8901912599
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 22 18:17:47 2008 -0800

    Higher level abstraction for CAS.

commit 68812befc90361fb2a1961c3dd390d47a5f46cf4
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 22 12:25:36 2008 -0800

    Test cancellation on CAS ops and fix the bugs they revealed.

commit 3b41c02cd6f74013603106d2298e195ca53f8b47
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 22 12:13:23 2008 -0800

    Use an enum instead of a boolean to indicate what happened during a CAS.
    
    There are two normal failure states which must be distinguished.  An enum
    will indicate success vs. one of the failure states.

commit a52d77dcce1231c1390e9078dc2aceded28ae6fd
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Feb 22 11:40:09 2008 -0800

    Use a constant for the command implementing base get in the text protocol.
    
    This change is slight, but it seems a little better to use the constant to set
    a final than to use an abstract method to get the constant.

commit 988bbb90051718087a48e73e094f3bcb1db521ad
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Feb 21 23:00:16 2008 -0800

    API support for CAS operation.

commit 7ae4ccf8dbacb03e8fa34224f85d0db869da9a6b
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Feb 21 23:00:14 2008 -0800

    Base support for the CAS operation.

commit 464750ef38787e89497544a7080fcb09a8bbcfa7
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Feb 21 23:00:12 2008 -0800

    High level support for CAS gets.

commit 64611658df522e4748d089c293615960820d57d7
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Feb 21 23:00:10 2008 -0800

    Lower-level support for CAS gets operations.

commit 3c1898b91b05c64b2b812c0d927eb1e3c8e5026f
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Feb 20 11:32:59 2008 -0800

    Updated to site 1.2.3

commit 16a89a22438a09c1663118ff0af9e61e543285d8
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 11 21:53:27 2008 -0800

    Added tag 2.0-pre8 for changeset ea67f6f44fb1

commit 5d5f25b14a76e1c4b27e71e1dd81d38ee67a593a
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 11 21:53:22 2008 -0800

    Updated the build number to 2.0-pre8

commit 55f6911e82789e6cbad1ceccc66b1a10e609ffb5
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Feb 11 21:45:39 2008 -0800

    	Fixed a bug related to detecting timeouts of CountDownLatches.
    
    	Prior to 65ea6e61fdc2 (when I replaced my own mechanism with
    CountDownLatch), exceptions were thrown by the latch mechanism.
    
    	CountDownLatch requires you to check a return value to determine whether
    there was a timeout or the count went all the way down.
    
    	Tests were added to ensure the correctness of this behavior on all async
    calls.

commit 8fc6b1e5a127cd519d12229a216ea4d27edd1924
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jan 22 20:36:35 2008 -0800

    Removed some redundant string -> byte[] extractions.

commit 26fa76e245351201345a412a4c70c287c02544f8
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jan 22 20:32:26 2008 -0800

    More UTF-8 tests and fixes.

commit e06f632e48f0a0f6a29a050dc10c3ea82e98905d
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jan 22 20:07:53 2008 -0800

    Killed off MemcachedClient.setHashAlgorithm and getHashAlgorithm.
    
    These methods were unused and led to confusion when people tried to use them.

commit 3f3bae556f2924fe8eb35111c09d2af70315e410
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jan 22 19:17:22 2008 -0800

    Another UTF-8 test and a fix for a bug it exposed.

commit 15284a64f3e9731cdcb36962aa594ad81265ac41
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jan 18 23:52:38 2008 -0800

    Updated TODO.

commit 83ef0df9caea4b8343d5bf6ede773d6789298e0e
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jan 17 22:59:56 2008 -0800

    Binary protocol provides a binary response now.

commit 3da5ec40a719be9a079387a0ddec0f5dc2fb38a3
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Jan 2 13:46:07 2008 -0800

    Updated TODO for recent bug report.

commit 4a4f2c9fe140debb1e4bcf98db76c6cbc82666a4
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Dec 28 09:47:39 2007 -0800

    	Added a CRC32 test case that was reportedly returning incorrect results.
    
    	Works for me.

commit 816d8b9c74e73b4e77f16a849e22f74391944787
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Dec 23 14:59:26 2007 -0800

    Added tag 2.0-pre7 for changeset f8c5231ef7da

commit 0342c0c537549b305ec8f5fd84a5b015ad12373e
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Dec 23 14:59:01 2007 -0800

    Key validation based on byte values instead of character values.

commit 25af7fb8f756b38784e2c29b4231d203003464c0
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Dec 23 14:53:51 2007 -0800

    Handle multibyte keys by encoding them into UTF-8.

commit e64fbadda6f4f1a9813491b6a3e2decf1aded318
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Dec 23 13:44:49 2007 -0800

    	Use consistent character sets when transcoding string values.
    
    	Defaults to UTF-8, but may be supplied at runtime.
    
    	I'd like more testing around different character sets, but I'm going to
    have to get someone familiar with another character set to make me a test case.

commit 017194a28df11db62513850b3ac31cb8acc30fc3
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Dec 19 00:28:06 2007 -0800

    Brought back the stupidly large test.

commit cdc536eae144d1f2ad8fa45b608c5c25397ce084
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Dec 18 23:20:06 2007 -0800

    Updates for the December revision of the memcached binary protocol.

commit bbae61fd61adda05c297a1cf6d40f837298a7736
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Dec 12 23:39:24 2007 -0800

    Added tag 2.0-pre6 for changeset d67629c8691b

commit 4fe0b4776dfc754b27c78c854b3e39013560ee52
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Dec 12 23:39:10 2007 -0800

    Updated buildfile for 2.0-pre6

commit 9362c7aefb81cd2623b8d365821862266013a8a1
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Dec 12 23:38:51 2007 -0800

    	Separate double-check and excessive empty counts and increase the latter.

commit 1d8449e1e60e62fa65e57865904809a79da00ede
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Dec 12 22:06:40 2007 -0800

    Fix some problems with duplicate processing around reconnects and item adds.

commit 7975a6a945dae34be1121b6700a30c17704fc3f4
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Dec 12 22:10:59 2007 -0800

    Handle CancelledKeyException bug on Linux.
    
    Bug related to nio on java:
            Thread dump below looking at it, it might be a manifestation of what's
            described in
            http://forum.java.sun.com/thread.jspa?forumID=535&threadID=5135128 which
            looks like it is
            http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=2147719 which is
            claimed to be fixed in the NEXT release of java.

commit b3e7ecf79dce90589dafbc0a13b600831da4476e
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Dec 11 22:43:33 2007 -0800

    Removed a piece of unused code.

commit 2960169b06e34c03678b656c8929107d3ab2e1d7
Merge: 835526a... 62b3e91...
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Dec 10 20:23:43 2007 -0800

    Merged buildr branch

commit 835526a0d2841e8e8e219828a39d8a235d9d7183
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Dec 10 20:01:53 2007 -0800

    Avoid unnecessary wakeups on bulk get.

commit cb895ad76c297ffe0ec0fe99f4b6385a90f34a40
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Dec 10 19:49:30 2007 -0800

    Updated to build_info 1.0.1

commit cf91211797acc38d24e040fd4b3a8242b8b2c29f
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Dec 10 19:45:29 2007 -0800

    Updated eclipse stuff

commit 881969cbced2f9415ce9db85db5ae2aca6702116
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Dec 10 15:05:07 2007 -0800

    	Debug log exception.
    
    	Thanks to Steve Grimm for this fix.

commit 091219105f658fea2665099bef2ab09526ba9d7b
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Dec 8 21:10:13 2007 -0800

    updated to site plugin 1.2.2

commit 31f2a33ebba539c856b370b1255641ba95d463c2
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Dec 8 21:08:17 2007 -0800

    Fixed doc xhtml compliance

commit 7a80e28aa66c8e91ced044b14b8279278edd54ef
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Dec 7 22:39:14 2007 -0800

    Update docs to referene spy.jar 2.4

commit c1384307451ed644ac13648514d50582e11489b6
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Dec 7 22:38:58 2007 -0800

    Get spy.jar from a m1 repo

commit 566b51a8f4bc2e3a976ec8fc96e1d4970056e348
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Dec 7 10:03:42 2007 -0800

    Converted build to buildr

commit 62b3e91d43d842d3fdab3233d1d7f2f45211c7f2
Merge: 2049529... 65c5334...
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Dec 7 09:44:58 2007 -0800

    Merged in the binary-protocol branch

commit 204952904fa2669476b92d225207940d23ebc5d4
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Nov 15 10:53:28 2007 -0800

    Doc update:  cancel takes an arg

commit 765abbd0e8954e804ad982a230e4fec29d2a3f44
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Nov 9 15:10:05 2007 -0800

    Added status indicators to TODO

commit 850e971495bb516ed8edc0f7698ce92332d9394c
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Nov 7 22:50:09 2007 -0800

    Added notes about nio

commit 716ff3f9441e70380d3d99106a1c6e0449c2b0ec
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Nov 4 16:57:21 2007 -0800

    Added tag 2.0-pre5 for changeset da198056602f

commit bcb238a48b5491966ecd789281c85afc7abc324e
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Nov 4 16:45:16 2007 -0800

    Increasing cache time so the tests pass when my machine is loaded.

commit fab38eee2c14aefcd97873061c6d8ec43a4ddf03
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Nov 4 16:22:31 2007 -0800

    Updating for a 2.0-pre5 release

commit f0ca4a005705e902a13ee88fa47ed61522a228f6
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Nov 2 11:19:48 2007 -0700

    Fix case where the transcoder couldn't decode content from the cache.

commit 8649d0c9d9c00c44c5be1ed6e77a6ec5a1e02e0a
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Oct 15 10:40:20 2007 -0700

    Validate key form on bulk gets.

commit 74fb2c53a3c1279b67456f479ccb1c68c87a7d13
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Oct 9 15:26:26 2007 -0700

    removed some commented out debug print stuff

commit 887b05aa8b77f8f40120a75b8334d2ac656601e0
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Oct 9 15:25:23 2007 -0700

    Fixed some tab/space mixing

commit 74f0fc9619708e2aaed7018a352ef491967d787f
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Sep 27 15:28:07 2007 -0700

    Another doc fix.

commit d8024729d126b5e6f6755d802df0bf6f37d14b03
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Sep 27 15:15:36 2007 -0700

    Some documentation updates.

commit 9083dd98f933583a83be9c41aa964d77b6eba668
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Sep 27 14:32:26 2007 -0700

    Added tag 2.0-pre4 for changeset e8f8f6271791

commit d2fcdaefac6f26cd903124494e54cf491f86c79e
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Sep 27 14:21:47 2007 -0700

    Updated to 2.0-pre4

commit 9f1781bef37f97839026a15f6add303d2831fe61
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Sep 27 14:20:47 2007 -0700

    Added optimization documentation.

commit 1d25c2a0bc7d0869e5c3959227fa18aae3effd27
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Sep 4 18:02:37 2007 -0700

    Separated request and response magic

commit 37c5339871fab729ee314240d37b6e68e5874f97
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Sep 4 00:19:47 2007 -0700

    Added tag 2.0-pre3 for changeset f8d5ab6277c7

commit 48ab667f547ac30f0a37162a536a29a1143bce76
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Sep 4 00:19:39 2007 -0700

    Updated to 2.0-pre3

commit d5312c7cf2bdc87eaf0512e0bdad997aca4c185c
Merge: bf249fb... 6a92429...
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Sep 4 00:18:01 2007 -0700

    Merged in 2.0-pre2 release

commit 6a92429f291c1341b2d010741d49613da5f03517
Merge: 9afc1e8... bdcdd7a...
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Sep 4 00:09:52 2007 -0700

    Merged cleanup fix

commit 9afc1e8fe6d72d9742b7985aa99496ee4113f792
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Sep 3 23:52:16 2007 -0700

    Added delayed delete to binary protocol.

commit bf249fbe5d24664270ec6e52f00a4a0bffd5d530
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Aug 31 11:13:09 2007 -0700

    Added tag 2.0-pre2 for changeset 477c11e448ec

commit 76ef19929f1587fe26fc10f708d4d832fd573610
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Aug 31 11:13:02 2007 -0700

    Setting up version numbers for 2.0-pre2

commit bdcdd7adb7adc4f36db50f7cc9f238e9bfe19416
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Aug 31 10:08:09 2007 -0700

    Remove cobertura.ser when cleaning.

commit bdf2936f85cf9d55b94efc31a033390a30e9956e
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Aug 31 01:02:17 2007 -0700

    make sure I'm truncating longs with long masks.

commit 8df727305c570a95b16042f55056a30bd2fb2f9f
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Aug 31 00:59:20 2007 -0700

    Added some more fnv variations and hash and locator interop tests and fixes.

commit 07370da2754670f7e094904972398702b8d90151
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Aug 30 22:36:51 2007 -0700

    Updated ketama tests with values taken from libketama

commit bc37082f8742f0d463af2207ce65f35e8a98e4dc
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Aug 30 00:30:11 2007 -0700

    More tests (and fixes for bugs they revealed)

commit 4694b2189866c562208a8b88933c366366e177a1
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Aug 29 22:39:56 2007 -0700

    Unified protocol tests

commit 663b1a15aa4716126deb2313d9ac3fa055cdaaf7
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Aug 29 22:18:06 2007 -0700

    Added tests for cancellation behavior (and fixed a bug therein).

commit b901c317fd45347b487ce10423797a6ab0a2eeed
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Aug 28 22:30:18 2007 -0700

    Prioritize delivery of errors over that of cancellations.

commit 13da44b6e4a0ec35032e17d5c1f6b9b0f5f3db36
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Aug 28 21:35:08 2007 -0700

    Reuse ProxyCallback code for ascii and binary

commit 6555455004b1b236159b41d7c5c24c9ae6c3cb1c
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Aug 28 21:21:02 2007 -0700

    Added sequential get optimization to the binary protocol

commit 5974782d8322539fb2d7a9ab521249124c1fb272
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Aug 28 00:19:37 2007 -0700

    Added some coverage and removed some dead code.

commit 1fc060f8031a4007c325963ced99cdd88e438722
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Aug 28 00:11:13 2007 -0700

    Killed off getKeys()

commit a18899ff3c0af6dfbe2762ecef37607497c0252d
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Aug 27 23:57:14 2007 -0700

    Enabled some more tests.

commit 3ef3b03f3029346ef56f6046de02e2b38ac9c198
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Aug 27 23:24:34 2007 -0700

    Added tag 2.0-pre1 for changeset 951f24cdb58b

commit 40e1b322f20d767e8b6a5d400b0cb881d4b04e81
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Aug 27 23:24:18 2007 -0700

    	Version and doc updates to roll out a 2.0 pre-release.

commit 06478e04235ebd92c14dd1397a824e6ae54b899b
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Aug 27 23:05:43 2007 -0700

    	Added BinaryConnectionFactory to make it easier to connect via the binary
    protocol.

commit 367cfaabd49f4834a4117d73cdb26537057c8dfd
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Aug 21 22:18:07 2007 -0700

    Binary incr/decr returns a string now.

commit dbf28c49bf80d9090c427c950f598c0d65a3a4e2
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Aug 21 22:09:51 2007 -0700

    	Updated commands and new binary incr/decr longness.

commit 4ede045774579012c2b44a86ddb12f20fea5410e
Merge: febfb14... ea6ac63...
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Aug 15 10:00:26 2007 -0700

    Merged incr/decr recommendation

commit febfb146205fd4266722cf9eb913b21dcacdfa49
Merge: 65c5334... ccef21d...
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Aug 15 09:58:09 2007 -0700

    Merged doc changes from default

commit 65c5334b1f8b8f3ecc1940cde9191297060d8c97
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Aug 15 09:57:14 2007 -0700

    Updated doc links.

commit ea6ac63135c25d769dee755d4a32ebbc24b1c2cd
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Jul 25 21:37:07 2007 -0700

    	Implementation of my incr/decr recommendation with backwards compatibility.

commit ccef21d2c6a559219d6de8a674f4018b9a547eaf
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 24 10:13:50 2007 -0700

    Updated the OperationExceptionTest for unstripped errors

commit 11d778a49582a42ef6894bae60c8e9626cf023a2
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 24 10:11:29 2007 -0700

    Moved binary port for tests

commit 30b172f8abc3619b86e969d425e2e9bbd934cf72
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 23 23:34:40 2007 -0700

    Implemented version and opened more tests

commit fffaef40f8ce3f54db5db61f735aa1a834d5312c
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 23 23:24:02 2007 -0700

    Implemented delete and multiget

commit 0a31f3a05f8e1883c8b67189afee6ad03743f7c1
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 23 22:04:37 2007 -0700

    Processing sets and gets.

commit 249877d4225bab45c82a29a71e585d07434afd3e
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 23 18:14:32 2007 -0700

    Further work on binary client.

commit a73de702e5e1d08a229f809fd1b7ec1fe23d4deb
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 23 11:11:34 2007 -0700

    Field shadowing fix.

commit d40dfef6d684eb5cc6fb2b32b3f63f15b4c61b4b
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 23 00:22:15 2007 -0700

    	Started binary protocol implementation.
    
    	...then decided to go to bed before finishing it.

commit 96c7ec28ce41cee1b62d6177f7e939366a2cd25b
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 23 00:20:50 2007 -0700

    Pulled reusable code out of the ascii operation impl

commit aa38d92695049e7c5e74e7c3a2ebb81f4f7910e4
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 22 23:04:34 2007 -0700

    Abstracted away status reporting.

commit 44d5d300985e2ae0a0568849f59bb6d1b033d542
Merge: 889cd74... 150fa18...
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 17:09:25 2007 -0700

    Merged in 96ac3e8a252f from tip

commit 889cd74f1fa6ee6b534a090f73e4f219a8730357
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 17:08:18 2007 -0700

    Remove redundant latch countdown when waiting for queues

commit 150fa182fad016c5a886adacaf0a3673eda31993
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 17:04:32 2007 -0700

    Note some abstraction leaks in MemcachedClient

commit fba36ce918e50af611e7fe3acea3c93f39e6fb44
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 16:56:57 2007 -0700

    moved OperationReadType to protocol/ascii since it's ascii-specific

commit e96c58b6905bcae75854e42e77660d8fe04c47fe
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 01:10:26 2007 -0700

    Removed unused constructor

commit c43dfc2bd5de7a8e676c4626da9551838e5cb8db
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 01:04:29 2007 -0700

    Removed some redundant wasCancelled implementations

commit afe4813fa74dbdb3866698bf8530fc8de3d8ac38
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 00:54:42 2007 -0700

    Moved nested ops enums to toplevel

commit 6ec6e83ef11da47b1aefa5e314fa55f19d960735
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 00:41:06 2007 -0700

    make everything that's not variable final

commit 153acfae1acc6d2cfc0e34695aeb8b605e2f5d75
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 00:27:04 2007 -0700

    basic code cleanup

commit 7a33d00ecaf22727745bb529609a45c916a874cf
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 00:24:51 2007 -0700

    factored out reusable tcp connection handling

commit cde7e8ff175af1bc951b097b4ac54cfbd2c0348e
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 20 00:07:26 2007 -0700

    package.html updates

commit 5b43bc9ef219fd82c0ded42e8954b1d1bedf16c0
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 19 23:59:24 2007 -0700

    moved OperationException into ops

commit e824e3a51f41ac7976ceb9f89f5c9a5067b5db4b
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 19 23:57:17 2007 -0700

    introduced a factory to abstract away operations

commit f354ae22b82019f31437cd2d683778be3cb6ab77
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 19 23:30:54 2007 -0700

    Renamed OperationFactory -> BroadcastOpFactory

commit c90d141e747a9aa1926032a55fe0ae1ca09771a5
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 19 23:23:49 2007 -0700

    pushed the node impl into an ascii protocol-specific handler

commit 202cff1895796fee3dedc40a316e2ef2fa4d5276
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 19 23:07:46 2007 -0700

    Extracted interfaces for operations.

commit 32348cbf6f3afd91e249c80988ce5c2e0ee1484e
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 19 22:36:10 2007 -0700

    Renamed the classes to impls

commit 0bcbc2825f784b79286cf34204ef68eb7f9d2365
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 19 21:55:22 2007 -0700

    	Repackaged operation stuff into protocol.

commit 12c28547c9d162d695ac344a2aad96748dedff12
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 23:20:55 2007 -0700

    	Test ketama continuum wrapping.

commit ce0c4bc42be0c6966b614f5902ace84d06448574
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 23:00:41 2007 -0700

    	Cleaned up some tests around the NodeLocators.
    
    	Less code, more coverage.

commit b264c301f7ebbdb3dad971f04e7e8fb9520df717
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 22:20:10 2007 -0700

    Added tag 1.4 for changeset d9ec9454132e

commit 78614162473d243d299c3abbc5a3d38aa17da750
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 22:20:07 2007 -0700

    	Updated project for version 1.4.

commit 58c5a0eea5e9ec9f9363d52db884954af2ba6969
Merge: 66a618a... c15a326...
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 22:16:05 2007 -0700

    	Merging 1.4 to default.

commit 66a618a1c73d6cbc5c6934d048784d53e642fefb
Merge: f7832c7... 961632b...
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 21:59:50 2007 -0700

    merged 1.3 into default

commit f7832c74ac1781b2bd29f48bc1f8fafa1b76dba5
Merge: 89825d2... 4acee06...
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 21:59:32 2007 -0700

    merged pipeline into default

commit 89825d20fa1fa09b2abfda00432a8f60c0451f20
Merge: 4b7913c... df8956e...
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 21:59:18 2007 -0700

    merged 1.2 into default

commit 4b7913c283a5163be4704045eac8ae88ffbeb68a
Merge: 928c2af... 159dada...
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 21:58:56 2007 -0700

    	Merged 1.1 into default.

commit 928c2afeb54d0e1492989489b5c40bea54514fff
Merge: f604487... 5ed0c2e...
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 21:58:34 2007 -0700

    	Merged 1.0 into default.

commit c15a32649a9a270925dacaf6d0862e523ed5b2f7
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 15:14:16 2007 -0700

    	Reformatting in HashAlgorithm.

commit b8089f592283b6aa030a3ce395e56c60ee1e1eab
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 14:55:10 2007 -0700

    	Added basic ketama consistent hashing support.

commit 010e54678ff27ac3b7433b853a7a0a7562d06b10
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 01:53:47 2007 -0700

    	Make it possible for NodeLocator implementations to be swapped out at
    runtime.

commit 44b1ffbc706f3e27f61a371ee4ebbf93e65f0673
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 01:38:27 2007 -0700

    	Changed ArrayModNodeLocator to take a List<MemcachedNode>.

commit f455c34f9629a7aa5ed7e1193f58651ca1214a9d
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 01:26:58 2007 -0700

    	Handle failing servers with per-key sequences in bulk gets.

commit 699541688be39f607ee278ac1d9b6158b8c4e88f
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 8 01:23:06 2007 -0700

    	Fixed a bug in iterating nodes over an array.

commit 86f4cd0a30c8045bcb8284b6dd9e66888ef512e5
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Jul 7 18:05:17 2007 -0700

    	Semi-functional client based on NodeLocator.
    
    	The way to handle bulk gets in the event of a failing node is unclear, so
    the failing node test currently fails.

commit ee6cbda66eb847cc3671db2dee64a6bf401abf23
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Jul 7 16:36:36 2007 -0700

    	Added test for ArrayModNodeLocator.

commit 621a0364d35359c5aaf8d5adc6034d8c9075c515
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Jul 7 16:05:08 2007 -0700

    	Get everything using the interface in the right place.

commit 02eefef199128d18747542b5444054ce14b66ccc
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Jul 7 15:59:56 2007 -0700

    	Made MemcachedNode an interface MemcachedNodeImpl implements.

commit 9dc05de5741afd2fc58bc23da33238de8a2764ed
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Jul 7 15:44:11 2007 -0700

    	Renamed MemcachedNode to MemcachedNodeImpl

commit dde525285cb366bcf39c2ef6831bef6d05c0354b
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Jul 7 15:42:18 2007 -0700

    	Finished making all of the MemcachedNode fields private.

commit c7871ed57be9f33a015de415c7a035be519dfaab
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 5 16:44:35 2007 -0700

    	Working on separating node location from the core.

commit 62c923f8c68e02bfc985e6fe7cc0f3273f5f01bb
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 5 16:42:37 2007 -0700

    	Trying to determine the interface of MemcachedNode.

commit 8e4eb93812b89936a2d1d8b9363c476405704139
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 5 11:02:34 2007 -0700

    	Pulled QueueAttachment out into MemcachedNode.
    
    	QueueAttachment was a nested class in MemcachedConnection that was used to
    hold per-connection information.  It was called QueueAttachment because it was
    attached to the select queue or something like that.  MemcachedNode seems like
    a better name, and it's going to need to be exposed some as we get into more
    pluggable node selection algorithms.

commit 002d210933e356f1b45681377c8e00fac06ac74a
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 3 22:47:01 2007 -0700

    	Added some comments around my server-down logic.

commit 65a82279abc08e94218e37b0001643f73780099d
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jun 29 13:45:00 2007 -0700

    	Fix a warning in a test.
    
    	I just upgraded to eclipse 3.3 and it's finding warnings and errors that
    should've been found before, but weren't.

commit eb13bf3423798788cb720f6a0ae770802f745724
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jun 29 01:24:06 2007 -0700

    	Some changes to get this bench thing to run under the profiler.
    
    	There were a couple of stupidities in how the client was set up, and some
    issues keeping large numbers of async sets down.  It still doesn't model a real
    application very well, but may be good enough at showing what would happen in a
    peak situation.

commit 63215d8b3a2bd4083c8c22a2a1c6da82c74e0bb8
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jun 29 00:08:59 2007 -0700

    	Support for working around a failing server.
    
    	Apparently, the common thing to do is check the status of a server when
    performing a command against it, and trying the next server in the list when
    the server is unavailable.
    
    	My previous behavior was to queue a command against a server regardless of
    its status such that when a server was available the command would be processed
    as close to immediately as contention would allow, but when a server was
    unavailable, the command would wait around for the server to come back up.
    
    	The new behavior is something near the middle of this.  When a server is
    unavailable, I'll try the next server in the list.  I repeat until I've
    exhausted every known server and then just queue it for the one to which it
    belonged in the first place.

commit 6e71ed2d357b637e4f346663d386278e713bb7bd
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue May 22 01:12:14 2007 -0700

    	Reuse \r\n bytes for terminating stuff in operations.

commit 5e2cae2e42b4777b1168e4e6ecf1ed838c561baf
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri May 18 00:22:30 2007 -0700

    	Added an adaptation of the spcached benchmark tool.
    
    	http://code.google.com/p/spcached/wiki/benchmarktool

commit 20f340dd7d2461f3f0c1911fdfe3e413e42edfa6
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed May 16 18:02:48 2007 -0700

    	Some documentation updates.

commit 2e0dc79ec214b6b16e31010341a1f8a97f368461
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed May 16 01:14:42 2007 -0700

    	Converted some fields to final.

commit a36477c9ea22f93f38efa1042de18b02b90398d8
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu May 3 20:03:25 2007 -0700

    Added tag 1.3.1 for changeset a5b3a230226d

commit 02dfea4eb7bcef946b44602a79707615bee8dc90
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu May 3 20:03:13 2007 -0700

    	Updated version to 1.3.1.

commit c0c08b8a92b728b94555533ced1273e011aa7fab
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu May 3 00:05:38 2007 -0700

    	Turn some assertions into harsh logging.
    
    	I had some conditions where these assertions were firing due to
    cancellation when a server went bad.

commit a570bdfc0be904b500ad481e9ae9a41777a768fa
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 23 23:32:39 2007 -0700

    	Increased test coverage slightly.

commit 4a03fb94812331d042de6c9e3edba3e77a704f26
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 23 23:03:36 2007 -0700

    	Exclude BuildInfo from cobertura report (autogenerated).

commit ddcda27e0c1f9fe483b70f1164d78af65ba66eae
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 23 22:46:51 2007 -0700

    Added tag 1.3 for changeset 7e2827b77f29

commit 961632bde4b71e71288a1fae1f9570b1ac10e97a
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 23 22:46:08 2007 -0700

    	Updating version to 1.3.

commit c3600313d18110ee41b86e4dcd1d04a480a68d3a
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 23 00:12:14 2007 -0700

    	Better key validation.

commit 441855b23dbce4ad07e8fd74ea0f267797fa123d
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 22 13:13:45 2007 -0700

    	Do a bulk get after the lots of sets test.

commit b2b7fe2863dbd54b37ec8b6d09fca26791a472fe
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 22 00:00:34 2007 -0700

    	Switch to a do/while loop to avoid doing the exact same check twice in a
    row.

commit ad8e34c60493c244c22e52121730783590bb09ed
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 21 23:32:28 2007 -0700

    	Fixing BufferUnderflowException by assuming the CR and LF are available at
    the end of a chunk of data from a get.
    
    	Included a new test broken out into a different client test as it takes a
    while to run.
    
    	Thanks to murugac@gmail.com for pointing out this problem.

commit 42a9d89f21e6661e127e034d2094b2075afd502b
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Apr 19 22:54:30 2007 -0700

    	More consistent shutdowns and error handling.

commit 4acee0638643ba0880bde11cb061a32734f25b4f
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Apr 18 23:34:38 2007 -0700

    	Use a bigger buffer size for the ``lots of sets'' test.

commit 7dfd70975fd1a33f5322c4e07d443c2b9ec6e488
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Apr 18 22:58:02 2007 -0700

    	Got a working write buffer.

commit 6c25e30df6c97098689e3716c0440ab50c6c7652
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Apr 18 01:24:23 2007 -0700

    	Trying to arrange buffers for writes before sending them.
    
    	This is broken right now since copying one buffer into another without
    checking the size causes a BufferOverflowException.  After covering that, I've
    got some measurements to perform.
    
    	This may conflict with get optimization.

commit 818f4f42258cf164ef8047e41b674c7c56743b73
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Apr 17 00:36:58 2007 -0700

    	Profiling showed an array that was getting converted to a string
    unnecessarily as part of preparing a debug log message.

commit e7ed0b51babecb21f5056c15ce00ac495b517717
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 15 23:49:22 2007 -0700

    	Fixed a problem when queueing a reconnect without any read ops.

commit 33582d4497f39adbb63fba426a58c97026c1c4c3
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 15 23:45:00 2007 -0700

    	Added another unit test to validate sequencing on multiple operations.

commit f7ddc07e310ea0b8ccf14adbf08c5b95103d5db5
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 15 23:30:25 2007 -0700

    	Added read optimization back.

commit 1125c01ecd7fc3927b45b309f7e10a4c5939dc2b
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 15 23:30:04 2007 -0700

    	Increased the default queue size.
    
    	My unit tests are too fast now and I have to do a lot more work to notice
    it.

commit e8adc28c072a33f3fc1a4a60e61b72a2ac77d761
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 15 23:07:34 2007 -0700

    	Pipelineing all reads and writes.

commit 3ca037225e59d8c3a60a1c089345fb87a4d1dd6f
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 15 17:17:49 2007 -0700

    	Wrap a GetOperation callback to allow an operation whose keys have all been
    returned within an optimized get to return before the overall get operation
    completes.

commit cd232329f7bbd5d6740198506e3c2d7019dc4f81
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 14 18:48:32 2007 -0700

    	Ensure the keys fed into a get won't be modified after they're added.

commit 3761de6b433d5462c737e8f1c7088ac5f54a58b1
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 14 18:48:07 2007 -0700

    	Fixed a bug where a CR as the last character in a buffer would cause a
    buffer underrun due to an immediate attempt to read for an LF.

commit 1f98b50c3cff69c1239fc6a67370004a50b20dbc
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Apr 13 23:19:33 2007 -0700

    Added tag 1.2 for changeset 7f5ab9429851

commit df8956e7fb322d6a02524b962eb999be6f919daa
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Apr 13 23:19:17 2007 -0700

    	Setting version to 1.2.

commit a73d0377eb7f3b94b4feaa05528e32e8b224ba4e
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Apr 13 23:06:13 2007 -0700

    	Optimization to collapse multiple sequential gets into a single multi-key
    get.

commit e26fe3f2474964b1c8be4292ce029e88cfd68a10
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Apr 13 20:55:31 2007 -0700

    	Added some comments so I could remember why addedQueue exists.

commit d87e603dcf92e45cafec98229ab21728f15e678d
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Apr 13 18:03:22 2007 -0700

    	New TODO

commit 75d8f32d3070eb13749bbae44a1e6800e1003bbf
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Apr 12 12:48:23 2007 -0700

    	A benchmark that came up on the list.

commit 27d010971a732f31952d9c5d22eba0ac2d2be8fd
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Apr 11 00:42:02 2007 -0700

    	Remembering where I got FNV hash.

commit 6701b0bad6e17a7006245cc4267656763e28c115
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Apr 10 20:19:26 2007 -0700

    	Formatting fixes.

commit 85060e7fa93821d0274afc8672d0dbca429ba7c6
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Apr 10 20:17:28 2007 -0700

    	Added Fowler/Noll/Vo hash implementation.

commit afce5042e90e53f36b7d97ffc34859235ae1060f
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Apr 10 15:23:58 2007 -0700

    	Added a couple todo items from the list today.

commit ad6bdcc05230653ed4b06808cdf8343dcc7665e3
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 8 15:13:18 2007 -0700

    	Added unit tests for non-serializable objects through the client.
    
    	The behavior was already tested in the transcoder test, but I wanted to
    make sure it got picked up at the right time in all of the mutation methods.

commit 971c7b53a2ebb90ba9f8b10af89547ce47870f84
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 7 15:28:11 2007 -0700

    	Ensure exceptions in the queue wait don't prevent a proper shutdown.

commit edb48a9a57af0eb82216439493dd3ccbe6520c40
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 7 13:44:47 2007 -0700

    	Added the expiration definition to the javadoc for add, set, and replace.

commit f8fce0fa6398fd8f2515d357850ace4030a63a29
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 7 13:31:07 2007 -0700

    	Check the shutting down state before asserting the thread is running.

commit 708e7b0c1fbb7e33954ca589e8f761f648d50c9a
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 7 12:51:17 2007 -0700

    	Added graceful shutdown, and cleaned up the shutdown procedure a bit.
    
    	It's still possible to get an occasional exception logged while shutting
    down depending on what exactly was going on during the shutdown.

commit ccc214599ccb0b40f83804f75194b249f64478ee
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 7 02:11:27 2007 -0700

    	Got rid of arch tags.

commit 44c2f1692f859fe960a87f736a19fdf5c2d92e22
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 7 00:44:48 2007 -0700

    Added tag 1.1 for changeset f06a486b7153

commit 159dadaafeded9fbc85b0ccf9444fdf096982c60
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 7 00:44:46 2007 -0700

    	Set the version to 1.1.

commit f6044878d68f2891d2e1a78602f083422d0989d0
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 7 00:37:22 2007 -0700

    	Store operations return Future<Boolean> instead of Future<String>

commit 0ec063179cb12296b9e13bc3d8d4a041d58beefd
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Apr 7 00:32:39 2007 -0700

    	Cleaned up the documentation.

commit 903977d2e75f8f5afd9637ececeb564600addac2
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Apr 6 23:29:10 2007 -0700

    	This constant is no longer referenced from here.

commit 1cc7f5e761c9797b873e1553c737185bbd37a8f4
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Apr 6 21:19:43 2007 -0700

    	Replaced last remaining SynchronizationObject with an AtomicLong +
    CountDownLatch.

commit 95eab2639e4a2a2e3e3aad86310912d2f0bacb65
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Apr 6 21:05:22 2007 -0700

    	Introduced a factory for configuration connections to memcached servers.

commit c2cbb9d071d170a2d41eb922a866d0a43e8dc054
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Apr 5 01:13:59 2007 -0700

    	Returning futures from delete and flush.
    
    	A client may now synchronize on deletes and flushes (e.g. the client test).

commit 9927c6d361e51419f50d56ad277f66294983ef4a
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Apr 5 00:34:21 2007 -0700

    	Put 1.0.44 in the version list.

commit 7f6fcf8eb5be2f4bd58e179a7f204aac3ffcb02c
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Apr 5 00:33:41 2007 -0700

    Added tag 1.0.44 for changeset 8f2b2b3293d5

commit 40bb183a5489bb584add3ec777e9e65fc0e057a9
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Apr 5 00:31:15 2007 -0700

    	use isEmpty() vs. size() to check for the first queued item

commit 100daab6ca70ae8c19fec0fba02f26e291ccfd65
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Apr 5 00:29:03 2007 -0700

    	s/StringBuffer/StringBuilder/

commit 5cd8e1f9681922bd8c1e0a9bcad0a520936dc69d
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Apr 5 00:27:49 2007 -0700

    	Bad side-effect in an assertion bug fix.

commit 0e9a7370dbf74d17009d6d51794985429703fc77
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Apr 4 20:28:58 2007 -0700

    	Got rid of some more CountDownLatch reinventions.

commit 6da85082ae8efa05ccb384f3c193869c0a162f98
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Apr 4 20:03:31 2007 -0700

    	Got rid of my reimplementation of CountDownLatch I was using for versions
    and stats.

commit 6464fb4d8fc9e0891e50bdef315701e295d4c48c
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 2 23:01:33 2007 -0700

    	Added a method to find all keys in a memcached cluster.

commit 75809b1708a8014ade2e66fa1782556abc367f1f
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 2 21:08:39 2007 -0700

    	Modeled the wire handling stuff a little better in BaseOpTest.  This is all
    pretty boring since I simplified the reader code.

commit 798aa8e0906ada9e2ce64baeeda579e017178c57
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 2 19:16:49 2007 -0700

    	Added the 1.0.43 release to the list.

commit 3a079980e5a74a13605a4c19a645127b3023c80f
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 2 19:14:33 2007 -0700

    Added tag 1.0.43 for changeset d1594a53e846

commit 14d5543ec697d6e208dd4eed9429532a4d3d50b1
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 2 13:40:43 2007 -0700

    	flush_all with a delay sets a delay for a flush_all and doesn't work like
    delete at all.  Updated my test to reflect my newfound understanding.

commit f1bdfa1e52349c3496e128beaa8992ea1282b2aa
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 2 12:53:20 2007 -0700

    	Unit tests centered around an actual memcached plus a couple bug fixes this
    found.
    
    	I really don't like having unit tests rely on network resources, but a
    dedicated memcached on localhost is obviously better than not having one at all
    (based on my unit tests).  I still don't have a way to model the various
    failure modes I have code to support, though.

commit e39216c59dadde2ca04d94daa3d387ce3cede5c4
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 2 00:24:37 2007 -0700

    	Make sure the selector assertion gets a consistent view of the current op.

commit 6363ea59d62af1357dc361b9cbe24a009df02f4c
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Apr 2 00:16:58 2007 -0700

    	When we receive data when we're not expecting to do so, log what we
    receive.
    
    	This revealed a strange condition where a server gave us an error while we
    were transmitting data.  I don't know exactly what caused this error
    (SERVER_ERROR object too large for cache).  I'm feeding it what I think is my
    largest object, but it doesn't break.  Will have to experiment more.

commit 9c653aa9ab0780e0d1a8afef2de4d863d72b450a
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 1 22:35:27 2007 -0700

    	Reinitialize the connection when there's an unexpected read.

commit f23c88277779a6f71f25401cd65797055418ebfc
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 1 16:30:30 2007 -0700

    	Set up the downloads maven plugin.

commit 29b5fb3466128b3d357e2bd04be13a58d0d28a73
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 1 16:17:15 2007 -0700

    	Updated the documentation to point out where to find the rest of the stuff.

commit bd622642d139110f816ee6ceb4706f20e18edca9
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 1 16:16:54 2007 -0700

    	Added some more ignore for build side-effects.

commit 8d2d8070195c5fe7f0ffa35f2ebfc76b2b8022ae
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 1 15:50:26 2007 -0700

    Added tag 1.0.42 for changeset 75abde568e4d

commit f79760fea83540f64838c02571ac3424ae04f4a0
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Apr 1 15:49:42 2007 -0700

    	Throw away the old channel when disconnecting.

commit 3cc9d7c12dc25cbe218c2306a30cdc69722b2e29
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 31 19:08:12 2007 -0700

    Added tag 1.0.41 for changeset 39207d2e8f7e

commit 17ad39e01f901441a495a5ac08b9cc7dfbbb9b96
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 31 18:57:53 2007 -0700

    	Added some exception handlers to requeue bad connections.

commit 6683bf2ee081519cf319e9149007a5158b95545f
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 31 18:47:52 2007 -0700

    	Reconnect if an IOException occurs during handleOperation()

commit e1837b53d7c26034aa9ae1904184694ff2b67f2c
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 31 14:53:21 2007 -0700

    Added tag 1.0.40 for changeset 8472728b1ba5

commit beb896c7f0df67ae0b91c4ab41780afe1be1594b
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 31 14:44:29 2007 -0700

    	Added a utility to parse common host list strings.

commit 519d20c55dd41c1aafaba5a357a7571d4263b8e3
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 31 14:29:36 2007 -0700

    	Added some collections constructors and a configurable read buffer size.

commit abae22cc668dd2584eacc16415b919c882e09019
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 31 14:12:50 2007 -0700

    Added tag 1.0.39 for changeset e3f652b9f6b7

commit e906d235883dbc2552ac768ef62f4cf0df2d7b6d
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 31 14:12:36 2007 -0700

    	Support more than one hashing algorithm.
    
    	Tested the crc32 hash algorithm against values returned from the perl
    client's implementation.

commit 9731db18af37b8ffec65b4bebc7fd8cc3e2e3ec4
Author: Dustin Sallings <dustin@spy.net>
Date:   Sat Mar 31 13:02:40 2007 -0700

    	Avoid returning negative server IDs.  That won't work.

commit 7923eab3002eac8f79cdb8bb255c8ee1dec6cf65
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Mar 30 15:24:51 2007 -0700

    	I was compressing data, testing the size, and compressing it again if it
    were small enough.  Modified to only compress once.

commit eb13c7488f600a5dd4a49d9f85e6a4f073e752cd
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Mar 30 13:05:26 2007 -0700

    	Fixed some compiler warnings (errors in my current eclipse config).

commit 32111df801f8825bb798127154b24658a5453411
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Mar 30 13:00:34 2007 -0700

    	Rebuilt the eclipse files.

commit 9f6768664486aa16288cf3b9374656382dc3ca9a
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Mar 30 12:59:14 2007 -0700

    	Added a remote repo to the project.properties.

commit a86262725ca68e5a6b3161e1e3817972b591b0f6
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Mar 29 23:26:49 2007 -0700

    Added tag 1.0.38 for changeset bfb57465c688

commit 14d10d0b3935cb775bec7bdb46d09eb030806bf0
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Mar 29 23:26:41 2007 -0700

    	Some more fixups after deploying on FreeBSD in the photo album.

commit 6f0b3c17a4a4090050f8f8a2d4cef1fc04265370
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Mar 29 22:07:35 2007 -0700

    Added tag 1.0.37 for changeset 303860232701

commit 55d6f13c230c7aa7dc5bf0423a8941b76ddd5eb6
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Mar 26 23:14:32 2007 -0700

    	Fixed up some compiler warnings.

commit 234b9becf0c35a4b947c909c20d75bc2e36a0e81
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Mar 26 22:47:09 2007 -0700

    Added tag 1.0.34 for changeset 486e3edcb99a

commit 744ece02379df43455b31fff315052203d7324df
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Mar 26 22:46:58 2007 -0700

    Added tag 1.0.36 for changeset f79b13acc9bb

commit 5ed0c2ec369f7e0458f5409e900e1c0b8987f4a8
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Mar 26 22:26:39 2007 -0700

    	Build updates.

commit 4de1fd1a781455dfc07425b090f075829a5f029f
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Mar 26 22:22:47 2007 -0700

    	Got rid of arch stuff.

commit 363a95acf17c2452986581f76fb44af953e12a28
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Aug 10 00:55:56 2006 -0700

    Use a queue of new entries to write without checking write state.*
    This isn't quite right.  There's a race condition between checking the write
    queue and going into the select where an item can be added but won't be
    checked.

commit 6d2b5abb516261d0f222c66beb58b3755428e1cd
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Aug 9 19:20:42 2006 -0700

    Revert the previous dumb hack.  Going to write a new dumb hack.

commit 5a262a78557009f38915416dd7ddcfb98bc42f49
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Aug 9 01:27:52 2006 -0700

    Attempt to write whenever there's an op in write state if select returns empty

commit 9d3859ac64d378cff9386968e25358f5f4046585
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 31 14:18:44 2006 -0700

    Added a protected empty constructor to MemcachedClient to allow mocks.

commit fb1d5cdc6098184a6e8d0a8b72c5f1bdbfbb4c56
Author: Dustin Sallings <dustin@spy.net>
Date:   Fri Jul 28 14:39:22 2006 -0700

    Ensure compression never increases the size of the data.

commit a1b317e05a3f6f8e03d30b4900feabb4746091b6
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 27 09:53:30 2006 -0700

    Added index.xml

commit bc975bb08cdbc4ae4595e2f4eade5d665094c85a
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 27 09:19:09 2006 -0700

    renamed LICENSE -> LICENSE.txt to make maven happy

commit 89fdc199d7169dca08932c2ce1ce270c76dd0873
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 27 00:48:47 2006 -0700

    Include the source with each build.

commit daca72f52eeef3191d19b6f31cf58925577becf5
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 27 00:37:45 2006 -0700

    Added a TODO and LICENSE.

commit fa80e53254290a47a6fae77afea5d6083f5ee4fa
Author: Dustin Sallings <dustin@spy.net>
Date:   Thu Jul 27 00:22:51 2006 -0700

    get bulk (sync) with both a collection and varargs

commit b8013a45a0ee3d8d272c5089317756d831fe51e0
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Jul 26 17:46:48 2006 -0700

    Make sure the operations are all informed that they're cancelled.

commit 5fceb2918af375f65169d50dd9ed68bc02bedd56
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Jul 26 17:30:33 2006 -0700

    Deal with the spinning selects a little better.

commit d8f71c6efbd8b3e604b2b6ec0682cf44aaa9407f
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Jul 26 16:49:41 2006 -0700

    Fork for junit tests.  makes -ea work.

commit 3a434155df257b803e4c254d0680124dc09b4b29
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Jul 26 16:45:39 2006 -0700

    Throw IllegalArgumentExceptions on invalid keys or values.

commit fe81635b4f67004ae78e36e6dab1b8dda892f11b
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Jul 26 16:29:58 2006 -0700

    Consolidate the callback interfaces so there's basically just one.

commit 45dcacf4802d77ae0d6321318a36bfdc14ad4500
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Jul 26 15:55:56 2006 -0700

    javadoc updates

commit d64fc13b8190b7c2d3843a15d86cc7727280191b
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Jul 26 14:04:33 2006 -0700

    Added package.html for the packages.

commit dc2d3c23eea52513ab6321677ad9c62ee5013e32
Author: Dustin Sallings <dustin@spy.net>
Date:   Wed Jul 26 13:01:43 2006 -0700

    Moved to more futures.  Got javadocs looking somewhat decent.

commit b6bce7fedf2aaad8764962c426b4b4837df2a0da
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 23:54:40 2006 -0700

    Store byte arrays as byte arrays.

commit 37135b79f86656265c8ab132ed2f5c839f2bbc05
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 23:48:25 2006 -0700

    Use Futures for all of the asynchronous sets, and implement cancel.

commit 27d78206e03f57aec340a9295e52139effd26496
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 20:21:37 2006 -0700

    Added some convenient timeout mechanisms on some sync calls.

commit 8ed2dfee8c2ee5dea30ec1b5de1aa9f4ac15f2a4
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 12:50:04 2006 -0700

    More correct async connect.  More assertions.  Always start thread.

commit 108150560c01ce51d5fa5316c5565d240b56bf58
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 11:38:18 2006 -0700

    Setting version to 1.0.

commit fdba62e512556c9c3f87e31709df442c87539b77
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 11:35:52 2006 -0700

    Forgot maven.xml

commit 1ff9978b802de2080fdac5a167f6f563287e2b54
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 11:35:31 2006 -0700

    Added build info.

commit d2fd0d50a74ec7f58f386970e8ceda78e7a55eae
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 11:30:24 2006 -0700

    Trying to get -ea in for the tests, but it's not going.

commit 667ebacd40b171b9fef0ab9a51b98c34e118ef86
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 00:53:33 2006 -0700

    Toss a date in the cache from the test client.

commit fc8296161f3a67e77f0727420273d6689d263997
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 00:40:31 2006 -0700

    Get rid of StringTranscoder.  It's not really all that useful.

commit 2a366f17673bcded40d57985640d989820a7b94b
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Jul 25 00:37:54 2006 -0700

    Some special type handling in the serializer.

commit 8a0ec677d8ea6c2fad9f07d0b0379a014a16af66
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 24 22:22:25 2006 -0700

    Retry with delay.  Some minor code cleanup.

commit 8a76889f2801e476bcafabeb48ba629c177c0f62
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 24 18:03:48 2006 -0700

    More work on memcached restarts.

commit 03f353e39d23c71825405acd22db94428323997b
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 24 15:03:08 2006 -0700

    Deal with memcached restarting.

commit c6550fbfa3915fd4cef04241f0940905c96dea0c
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 24 11:12:41 2006 -0700

    Most logging to debug.  Use localhost for testing.

commit 1d2ee277847e42c6913587b601b3dafed6467785
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 24 01:13:44 2006 -0700

    for incr/decr defaults, use a string rep since that's what memcached wants

commit 566e3ff54b9438518de9e19f1beccb259b2f58fe
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Jul 24 00:58:38 2006 -0700

    A proper object transcoder.

commit c80333dfe45adc4d95a774ebce02a1e46c02100f
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 23 19:52:08 2006 -0700

    New transcoder model.

commit afe8e17710e8dc5993aadaf6043afdb281a1cbdd
Author: Dustin Sallings <dustin@spy.net>
Date:   Sun Jul 23 19:30:00 2006 -0700

    initial import
    (automatically generated log message)

commit c0772446a20d62bcaf7104527c0ea512b817a7b1
Author: Dustin Sallings <dustin@spy.net>
Date:   Mon Mar 26 22:20:24 2007 -0700

    Tailor preparing to convert repo by adding .hgignore
