NMemcached.Client 1.2 Release Candidate

Coordinator
Jan 17, 2012 at 7:53 PM

A version 1.2 RC branch has been created in source control:

New Features

  • Added support for using time spans to set cache expiration.
  • Added a "UseUTC" property to the MemcachedConnection class. Setting thisproperty to "true" will use UTC time when calculating cache entry expiration when specifying a time span instead of a specific date time. Setting this property to "false" (the default value) will use the local time for expiration date calculations.
  • Added a new "useUTC" attribute to the "nmemcached.client" configuration element to support the new "UseUTC" property of the MemcachedConnection class.
  • Added a Sandcastle Help File Builder project file to the solution items.

Bug Fixes

  • Fixed a bug that was preventing the client from reading the compression flag properly so compressed entries were not being decompressed
  • The GZip and Deflate compression streams built into .NET still have a very, very old bug where no data is returned on the first read operation, only the internal buffer is filled. Implemented a work around to attempt a second read if no bytes were read onthe first read. The first read byte count is checked to ensure the workaround will still function if the streams ever get fixed by Microsoft.

Updates

  • Changed the ConnectionProvider.DisableConnection method to only lock the unavailable server list instead of the entire instance. This prevents double locking of the instance if the servers are re-indexed after a connection is reinstated.
  • Support for the ConnectionProvider.MarkDown method has officially ended. Using it will now cause a build error.
  • Updated the XML documentation to call out more exceptions
  • Removed those annoying //TODO: Remove Me comments along with the associated commented code
  • Added more unit tests for using compression with the client and testing ofthe individual ICompressor implementations (GZip and Deflate)