Commits

Mikkel Ovesen committed acf6cb5

Updated NHibernate to 3.2.0.4000 and Enyim to 2.11

Comments (0)

Files changed (45)

MembaseCacheProvider/MembaseCacheProvider.csproj

     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Enyim.Caching">
-      <HintPath>..\packages\membase 2.11\Enyim.Caching.dll</HintPath>
+    <Reference Include="Enyim.Caching, Version=2.11.0.0, Culture=neutral, PublicKeyToken=cec98615db04012e, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\packages\EnyimMemcached.2.11\lib\net35\Enyim.Caching.dll</HintPath>
+    </Reference>
+    <Reference Include="Iesi.Collections">
+      <HintPath>..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll</HintPath>
     </Reference>
     <Reference Include="Membase">
       <HintPath>..\packages\membase 2.11\Membase.dll</HintPath>
     </Reference>
-    <Reference Include="NHibernate">
-      <HintPath>..\packages\NHibernate.3.0.0.4000\lib\NHibernate.dll</HintPath>
+    <Reference Include="NHibernate, Version=3.2.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\packages\NHibernate.3.2.0.4000\lib\Net35\NHibernate.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.configuration" />

MembaseCacheProvider/packages.config

 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Iesi.Collections" version="1.0.1" />
-  <package id="Antlr" version="3.1.3.42154" />
-  <package id="Castle.Core" version="2.5.1" />
-  <package id="NHibernate" version="3.0.0.4000" />
+  <package id="EnyimMemcached" version="2.11" />
+  <package id="FluentNHibernate" version="1.1.1.694" />
+  <package id="Iesi.Collections" version="3.2.0.4000" />
+  <package id="NHibernate" version="3.2.0.4000" />
   <package id="NHibernate.Linq" version="1.0" />
-  <package id="FluentNHibernate" version="1.1.1.694" />
 </packages>

packages/Antlr.3.1.3.42154/Antlr.3.1.3.42154.nupkg

Binary file removed.

packages/Antlr.3.1.3.42154/lib/Antlr3.Runtime.dll

Binary file removed.

packages/Castle.Core.2.5.1/Castle.Core.2.5.1.nupkg

Binary file removed.

packages/Castle.Core.2.5.1/lib/ASL - Apache Software Foundation License.txt

-Apache License, Version 2.0
-
-Apache License
-Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-
-   1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
-
-   2. You must cause any modified files to carry prominent notices stating that You changed the files; and
-
-   3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
-
-   4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
-
-You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS

packages/Castle.Core.2.5.1/lib/BreakingChanges.txt

-================================================================================================
-change - Removed WebLogger and WebLoggerFactory
-
-impact - low
-fixability - medium
-revision - 
-
-description - To minimize management overhead the classes were removed so that only single 
-	Client Profile version of Castle.Core can be distributed.
-
-fix - You can use NLog or Log4Net web logger integration, or reuse implementation of existing
-	web logger and use it as a custom logger.
-
-================================================================================================
-change - Removed obsolete overload of ProxyGenerator.CreateClassProxy
-
-impact - low
-fixability - trivial
-revision - 
-
-description - Deprecated overload of ProxyGenerator.CreateClassProxy was removed to keep the
-	method consistent with other methods and to remove confusion
-
-fix - whenever removed overload was used, use one of the other overloads.
-
-================================================================================================
-change - IProxyGenerationHook.NonVirtualMemberNotification method was renamed
-
-impact - high
-fixability - easy
-revision - 
-
-description - to accommodate class proxies with target method NonVirtualMemberNotification on
-	IProxyGenerationHook type was renamed to more accurate NonProxyableMemberNotification
-	since for class proxies with target not just methods but also fields and other member that
-	break the abstraction will be passed to this method.
-
-fix - whenever NonVirtualMemberNotification is used/implemented change the method name to
-	NonProxyableMemberNotification. Implementors should also accommodate possibility that not
-	only MethodInfos will be passed as method's second parameter.
-	
-================================================================================================
-change - DynamicProxy will now allow to intercept members of System.Object
-
-impact - very low
-fixability - easy
-revision - 
-
-description - to allow scenarios like mocking of System.Object members, DynamicProxy will not
-	disallow proxying of these methods anymore. AllMethodsHook (default IProxyGenerationHook)
-	will still filter them out though.
-
-fix - whenever custom IProxyGenerationHook is used, user should account for System.Object's
-	members being now passed to ShouldInterceptMethod and NonVirtualMemberNotification methods
-	and if neccessary update the code to handle them appropriately.

packages/Castle.Core.2.5.1/lib/Changes.txt

-2.5.1 (2010-09-21)
-==================
-- Interface proxy with target Interface now accepts null as a valid target value (which can be replaced at a later stage).
-- DictionaryAdapter behavior overrides are now ordered with all other behaviors
-- BREAKING CHANGE: removed web logger so that by default Castle.Core works in .NET 4 client profile
-- added paramter to ModuleScope disabling usage of signed modules. This is to workaround issue DYNPROXY-134. Also a descriptive exception message is being thrown now when the issue is detected.
-- Added IDictionaryBehaviorBuilder to allow grouping behaviors
-- Added GenericDictionaryAdapter to simplify generic value sources
-- fixed issue DYNPROXY-138 - Error message missing space
-- fixed false positive where DynamicProxy would not let you proxy interface with target interface when target object was a COM object.
-- fixed ReflectionBasedDictionaryAdapter when using indexed properties
-
-2.5.0 (2010-08-21)
-==================
-- DynamicProxy will now not replicate non-public attribute types
-- Applied patch from Kenneth Siewers M�ller which adds parameterless constructor to DefaultSmtpSender implementation, to be able to configure the inner SmtpClient from the application configuration file (system.net.smtp).
-- added support for .NET 4 and Silverlight 4, updated solution to VisualStudio 2010
-- Removed obsolete overload of CreateClassProxy
-- Added class proxy with taget
-- Added ability to intercept explicitly implemented generic interface methods on class proxy.
-- DynamicProxy does not disallow intercepting members of System.Object anymore. AllMethodsHook will still filter them out though.
-- Added ability to intercept explicitly implemented interface members on class proxy. Does not support generic members.
-- Merged DynamicProxy into Core binary
-- fixed DYNPROXY-ISSUE-132 - "MetaProperty equals implementation incorrect"
-- Fixed bug in DiagnosticsLoggerTestCase, where when running as non-admin, the teardown will throw SecurityException (contributed by maxild)
-- Split IoC specific classes into Castle.Windsor project
-- Merged logging services solution
-- Merged DynamicProxy project
-
-1.2.0 (2010-01-11)
-==================
-
-- Added IEmailSender interface and its default implementation
-
-1.2.0 beta (2009-12-04)
-==================
-
-- BREAKING CHANGE - added ChangeProxyTarget method to IChangeProxyTarget interface
-- added docs to IChangeProxyTarget methods
-- Fixed DYNPROXY-ISSUE-108 - Obtaining replicated custom attributes on proxy may fail when property setter throws exception on default value
-- Moved custom attribute replication from CustomAttributeUtil to new interface - IAttributeDisassembler
-- Exposed IAttributeDisassembler via ProxyGenerationOptions, so that users can plug their implementation for some convoluted scenarios. (for Silverlight)
-- Moved IInterceptorSelector from Dynamic Proxy to Core (IOC-ISSUE-156)
-
-1.1.0 (2009-05-04)
-==================
-
-- Applied Eric Hauser's patch fixing CORE-ISSUE-22
-  "Support for environment variables in resource URI"
-
-- Applied Gauthier Segay's patch fixing CORE-ISSUE-20
-  "Castle.Core.Tests won't build via nant because it use TraceContext without referencing System.Web.dll"
-
-- Added simple interface to ComponentModel to make optional properties required. 
-
-- Applied Mark's -- <mwatts42@gmail.com> -- patch that changes 
-  the Core to support being compiled for Silverlight 2
-
-- Applied Louis DeJardin's patch adding TraceLogger as a new logger implementation
-
-- Applied Chris Bilson's patch fixing CORE-15
-  "WebLogger Throws When Logging Outside of an HttpContext"
-
-Release Candidate 3
-===================
-
-- Added IServiceProviderEx which extends IServiceProvider
-
-- Added Pair<T,S> class. 
-
-- Applied Bill Pierce's patch fixing CORE-9 
-  "Allow CastleComponent Attribute to Specify Lifestyle in Constructor"
-
-- Added UseSingleInterfaceProxy to CompomentModel to control the proxying
-  behavior while maintaining backward compatibility.
-  Added the corresponding ComponentProxyBehaviorAttribute.
-
-- Made NullLogger and IExtnededLogger
-
-- Enabled a new format on ILogger interface, with 6 overloads for each method:
-    Debug(string)
-    Debug(string, Exception)
-    Debug(string, params object[])
-    DebugFormat(string, params object[])
-    DebugFormat(Exception, string, params object[])
-    DebugFormat(IFormatProvider, string, params object[])
-    DebugFormat(IFormatProvider, Exception, string, params object[])
-
-  The "FatalError" overloads where marked as [Obsolete], replaced by "Fatal" and "FatalFormat".
-
-0.0.1.0
-=======
-
-- Included IProxyTargetAccessor
-
-- Removed IMethodInterceptor and IMethodInvocation, that have been replaced
-  by IInterceptor and IInvocation
-
-- Added FindByPropertyInfo to PropertySetCollection
-
-- Made the DependencyModel.IsOptional property writable
-
-- Applied Curtis Schlak's patch fixing IOC-27
-  "assembly resource format only works for resources where the assemblies name and default namespace are the same."
-  
-  Quoting:
-
-  "I chose to preserve backwards compatibility by implementing the code in the 
-  reverse order as suggested by the reporter. Given the following URI for a resource:
-
-  assembly://my.cool.assembly/context/moo/file.xml
-
-  It will initially look for an embedded resource with the manifest name of 
-  "my.cool.assembly.context.moo.file.xml" in the loaded assembly my.cool.assembly.dll. 
-  If it does not find it, then it looks for the embedded resource with the manifest name 
-  of "context.moo.file.xml".
-
-- IServiceEnabledComponent Introduced to be used across the project as
-  a standard way to have access to common services, for example, logger factories
-
-- Added missing log factories
-
-- Refactor StreamLogger and DiagnosticLogger to be more consistent behavior-wise
-
-- Refactored WebLogger to extend LevelFilteredLogger (removed duplication)
-
-- Refactored LoggerLevel order
-
-- Project started

packages/Castle.Core.2.5.1/lib/Committers.txt

-This file names who's behind the Castle Team. You can find more about us at http://www.castleproject.org/community/team.html
-
-Committers
-==========
-(ordered by the date when joined the project)
-
-- hammett/Hamilton Verissimo
-- Henry Concei��o
-- Kevin Williams
-- Craig Neuwirt
-- Gilles Bayon
-- Andrew Hallock
-- Jason Nelson
-- Dru Sellers
-- John Morales
-- CobraLord
-- Dan
-- Tatham Oddie
-- Fabio David Batista
-- Chad Humphries
-- Ayende Rahien
-- G. Richard Bellamy
-- Roelof Blom
-- Ahmed Ghandour 
-- Josh Robb
-- Ernst Naezer
-- Marc-Andre Cournoyer
-- Fabian Schmied
-- Dave Godfrey
-- Markus Zywitza
-- Lee Henson
-- Ken Egozi
-- Chris Ortman
-- Jonathon Rossi
-- Tuna Toks�z
-- Krzysztof Kozmic
-- Mauricio Scheffer
-- John Simons
-
-Managers 
-========
-
-  Patch Manager
-  -------------
-
-  - Josh Robb
-
-  Documentation Manager
-  ---------------------
-
-  - 
-
-
-PMC Members 
-===========
-(ordered by the date when joined the PMC)
-
-- hammett/Hamilton Verissimo (Chair)
-- Henry Concei��o
-- Kevin Williams
-- Craig Neuwirt
-- Gilles Bayon
-- Chad Humphries
-- Ayende Rahien
-- Fabio David Batista
-- Roelof Blom
-- Josh Robb
-- Jonathon Rossi
-
-Emeritus 
-========
-(no longer active committers)
-
-- Gilles Bayon
-- Dan
-- Andrew Hallock
-- John Morales
-- CobraLord
-- Tatham Oddie
-- Ahmed Ghandour 

packages/Castle.Core.2.5.1/lib/NET35/Castle.Core.dll

Binary file removed.

packages/Castle.Core.2.5.1/lib/NET40ClientProfile/Castle.Core.dll

Binary file removed.

packages/Castle.Core.2.5.1/lib/SL3/Castle.Core.dll

Binary file removed.

packages/Castle.Core.2.5.1/lib/SL4/Castle.Core.dll

Binary file removed.

packages/EnyimMemcached.2.11/EnyimMemcached.2.11.nupkg

Binary file added.

packages/EnyimMemcached.2.11/lib/net35/Enyim.Caching.dll

Binary file added.

packages/EnyimMemcached.2.11/lib/net35/Enyim.Caching.pdb

Binary file added.

packages/EnyimMemcached.2.11/lib/net35/Enyim.Caching.xml

+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Enyim.Caching</name>
+    </assembly>
+    <members>
+        <member name="T:Enyim.Caching.Configuration.FactoryElement`1">
+            <summary>
+            This element is used to define locator/transcoder/keyTransformer instances. It also provides custom initializations for them using a factory.
+            </summary>
+            <typeparam name="TFactory"></typeparam>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.FactoryElement`1.CreateInstance">
+            <summary>
+            Creates the provider by using the factory (if present) or directly instantiating by type name
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.FactoryElement`1.Factory">
+            <summary>
+            Gets or sets the type of the factory.
+            </summary>
+        </member>
+        <member name="T:Enyim.Collections.InterlockedStack`1">
+            <summary>
+            Implements a non-locking stack.
+            </summary>
+            <typeparam name="TItem"></typeparam>
+        </member>
+        <member name="T:Enyim.Reflection.FastActivator">
+            <summary>
+            <para>Implements a very fast object factory for dynamic object creation. Dynamically generates a factory class which will use the new() constructor of the requested type.</para>
+            <para>Much faster than using Activator at the price of the first invocation being significantly slower than subsequent calls.</para>
+            </summary>
+        </member>
+        <member name="M:Enyim.Reflection.FastActivator.Create``1">
+            <summary>
+            Creates an instance of the specified type using a generated factory to avoid using Reflection.
+            </summary>
+            <typeparam name="T">The type to be created.</typeparam>
+            <returns>The newly created instance.</returns>
+        </member>
+        <member name="M:Enyim.Reflection.FastActivator.Create(System.Type)">
+            <summary>
+            Creates an instance of the specified type using a generated factory to avoid using Reflection.
+            </summary>
+            <param name="type">The type to be created.</param>
+            <returns>The newly created instance.</returns>
+        </member>
+        <member name="T:Enyim.Caching.ILogFactory">
+            <summary>
+            Implement this interface to instantiate your custom ILog implementation
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.ILog">
+            <summary>
+            The ILog interface is used by the client to log messages.
+            </summary>
+            <remarks>Use the <see cref="T:Enyim.Caching.LogManager" /> class to programmatically assign logger implementations.</remarks>
+        </member>
+        <member name="T:Enyim.Caching.LogManager">
+            <summary>
+            Creates loggers based on the current configuration.
+            </summary>
+            <example>
+            
+            Config file:
+            
+            <configuration>
+            	<configSections>
+            		<sectionGroup name="enyim.com">
+            			<section name="log" type="Enyim.Caching.EnyimLoggerSection, Enyim.Caching" />
+            		</sectionGroup>
+            	</configSections>
+            	<enyim.com>
+            		<log factory="Enyim.Caching.Log4NetLoggerFactory, Enyim.Caching" />
+            	</enyim.com>
+            </configuration>
+            
+            Code:
+            
+            	LogManager.AssignFactory(new Log4NetLogFactory());
+            
+            </example>
+        </member>
+        <member name="M:Enyim.Caching.LogManager.AssignFactory(Enyim.Caching.ILogFactory)">
+            <summary>
+            Assigns a new logger factory programmatically.
+            </summary>
+            <param name="factory"></param>
+        </member>
+        <member name="M:Enyim.Caching.LogManager.GetLogger(System.Type)">
+            <summary>
+            Returns a new logger for the specified Type.
+            </summary>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Enyim.Caching.LogManager.GetLogger(System.String)">
+            <summary>
+            Returns a logger with the specified name.
+            </summary>
+            <param name="name"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.IAuthenticationConfiguration">
+            <summary>
+            Defines an interface for configuring the authentication paramaters the <see cref="T:MemcachedClient"/>.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.IAuthenticationConfiguration.Type">
+            <summary>
+            Gets or sets the type of the <see cref="T:Enyim.Caching.Memcached.IAuthenticationProvider"/> which will be used authehticate the connections to the Memcached nodes.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.IAuthenticationConfiguration.Parameters">
+            <summary>
+            Gets or sets the parameters passed to the authenticator instance.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.AuthenticationElement">
+            <summary>
+            Configures the authentication settings for Memcached servers.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.AuthenticationElement.Type">
+            <summary>
+            Gets or sets the type of the <see cref="T:Enyim.Caching.Memcached.IAuthenticationProvider"/> which will be used authehticate the connections to the Memcached nodes.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.EndPointElement">
+            <summary>
+            Represents a configuration element that contains a Memcached node address. This class cannot be inherited. 
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.EndPointElement.Address">
+            <summary>
+            Gets or sets the ip address of the node.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.EndPointElement.Port">
+            <summary>
+            Gets or sets the port of the node.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.EndPointElement.EndPoint">
+            <summary>
+            Gets the <see cref="T:IPEndPoint"/> representation of this instance.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.EndPointElementCollection">
+            <summary>
+            Represents a collection of <see cref="T:EndPointElement"/> instances. This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.EndPointElementCollection.CreateNewElement">
+            <summary>
+            Creates a new <see cref="T:ConfigurationElement"/>.
+            </summary>
+            <returns>A new <see cref="T:ConfigurationElement"/>.</returns>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.EndPointElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
+            <summary>
+            Gets the element key for a specified configuration element when overridden in a derived class.
+            </summary>
+            <param name="element">The <see cref="T:ConfigurationElement"/> to return the key for. </param>
+            <returns>An <see cref="T:Object"/> that acts as the key for the specified <see cref="T:ConfigurationElement"/>.</returns>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.EndPointElementCollection.ToIPEndPointCollection">
+            <summary>
+            Helper method; converts the collection into an <see cref="T:IPEndPoint"/> collection for the interface implementation.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.IMemcachedClientConfiguration">
+            <summary>
+            Defines an interface for configuring the <see cref="T:MemcachedClient"/>.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.IMemcachedClientConfiguration.CreateKeyTransformer">
+            <summary>
+            Creates an <see cref="T:Enyim.Caching.Memcached.IMemcachedKeyTransformer"/> instance which will be used to convert item keys for Memcached.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.IMemcachedClientConfiguration.CreateNodeLocator">
+            <summary>
+            Creates an <see cref="T:Enyim.Caching.Memcached.IMemcachedNodeLocator"/> instance which will be used to assign items to Memcached nodes.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.IMemcachedClientConfiguration.CreateTranscoder">
+            <summary>
+            Creates an <see cref="T:Enyim.Caching.Memcached.ITranscoder"/> instance which will be used to serialize or deserialize items.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.IMemcachedClientConfiguration.Servers">
+            <summary>
+            Gets a list of <see cref="T:IPEndPoint"/> each representing a Memcached server in the pool.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.IMemcachedClientConfiguration.SocketPool">
+            <summary>
+            Gets the configuration of the socket pool.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.IMemcachedClientConfiguration.Authentication">
+            <summary>
+            Gets the authentication settings.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.ISocketPoolConfiguration">
+            <summary>
+            Defines an interface for configuring the socket pool for the <see cref="T:MemcachedClient"/>.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.MinPoolSize">
+            <summary>
+            Gets or sets a value indicating the minimum amount of sockets per server in the socket pool.
+            </summary>
+            <returns>The minimum amount of sockets per server in the socket pool.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.MaxPoolSize">
+            <summary>
+            Gets or sets a value indicating the maximum amount of sockets per server in the socket pool.
+            </summary>
+            <returns>The maximum amount of sockets per server in the socket pool.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.ConnectionTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which the connection attempt will fail.
+            </summary>
+            <returns>The value of the connection timeout.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.QueueTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which the getting a connection from the pool will fail.
+            </summary>
+            <returns>The value of the queue timeout.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.ReceiveTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which receiving data from the socket will fail.
+            </summary>
+            <returns>The value of the receive timeout.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ISocketPoolConfiguration.DeadTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which an unresponsive (dead) server will be checked if it is working.
+            </summary>
+            <returns>The value of the dead timeout.</returns>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.MemcachedClientConfiguration">
+            <summary>
+            Configuration class
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.MemcachedClientConfiguration.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClientConfiguration"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.MemcachedClientConfiguration.AddServer(System.String)">
+            <summary>
+            Adds a new server to the pool.
+            </summary>
+            <param name="address">The address and the port of the server in the format 'host:port'.</param>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.MemcachedClientConfiguration.AddServer(System.String,System.Int32)">
+            <summary>
+            Adds a new server to the pool.
+            </summary>
+            <param name="address">The host name or IP address of the server.</param>
+            <param name="port">The port number of the memcached instance.</param>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.Servers">
+            <summary>
+            Gets a list of <see cref="T:IPEndPoint"/> each representing a Memcached server in the pool.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.SocketPool">
+            <summary>
+            Gets the configuration of the socket pool.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.Authentication">
+            <summary>
+            Gets the authentication settings.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.KeyTransformer">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.IMemcachedKeyTransformer"/> which will be used to convert item keys for Memcached.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.NodeLocator">
+            <summary>
+            Gets or sets the Type of the <see cref="T:Enyim.Caching.Memcached.IMemcachedNodeLocator"/> which will be used to assign items to Memcached nodes.
+            </summary>
+            <remarks>If both <see cref="M:NodeLocator"/> and  <see cref="M:NodeLocatorFactory"/> are assigned then the latter takes precedence.</remarks>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.NodeLocatorFactory">
+            <summary>
+            Gets or sets the NodeLocatorFactory instance which will be used to create a new IMemcachedNodeLocator instances.
+            </summary>
+            <remarks>If both <see cref="M:NodeLocator"/> and  <see cref="M:NodeLocatorFactory"/> are assigned then the latter takes precedence.</remarks>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.Transcoder">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.ITranscoder"/> which will be used serialize or deserialize items.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.PerformanceMonitor">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.IPerformanceMonitor"/> instance which will be used monitor the performance of the client.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientConfiguration.Protocol">
+            <summary>
+            Gets or sets the type of the communication between client and server.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.MemcachedClientSection">
+            <summary>
+            Configures the <see cref="T:MemcachedClient"/>. This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.MemcachedClientSection.PostDeserialize">
+            <summary>
+            Called after deserialization.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.Servers">
+            <summary>
+            Returns a collection of Memcached servers which can be used by the client.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.SocketPool">
+            <summary>
+            Gets or sets the configuration of the socket pool.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.Authentication">
+            <summary>
+            Gets or sets the configuration of the authenticator.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.NodeLocator">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.IMemcachedNodeLocator"/> which will be used to assign items to Memcached nodes.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.KeyTransformer">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.IMemcachedKeyTransformer"/> which will be used to convert item keys for Memcached.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.Transcoder">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.ITranscoder"/> which will be used serialzie or deserialize items.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.PerformanceMonitor">
+            <summary>
+            Gets or sets the <see cref="T:Enyim.Caching.Memcached.IPerformanceMonitor"/> which will be used monitor the performance of the client.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.MemcachedClientSection.Protocol">
+            <summary>
+            Gets or sets the type of the communication between client and server.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.ProviderElement`1">
+            <summary>
+            This element is used to define locator/transcoder/keyTransformer instances. It also provides custom initializations for them using a factory.
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.ProviderElement`1.CreateInstance">
+            <summary>
+            Creates the provider by using the factory (if present) or directly instantiating by type name
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ProviderElement`1.Type">
+            <summary>
+            Gets or sets the type of the provider.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.ProviderElement`1.Factory">
+            <summary>
+            Gets or sets the type of the provider factory.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolConfiguration.Enyim#Caching#Configuration#ISocketPoolConfiguration#MaxPoolSize">
+            <summary>
+            Gets or sets a value indicating the maximum amount of sockets per server in the socket pool.
+            </summary>
+            <returns>The maximum amount of sockets per server in the socket pool. The default is 20.</returns>
+            <remarks>It should be 0.75 * (number of threads) for optimal performance.</remarks>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.SocketPoolElement">
+            <summary>
+            Configures the socket pool settings for Memcached servers.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Configuration.SocketPoolElement.PostDeserialize">
+            <summary>
+            Called after deserialization.
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.MinPoolSize">
+            <summary>
+            Gets or sets a value indicating the minimum amount of sockets per server in the socket pool.
+            </summary>
+            <returns>The minimum amount of sockets per server in the socket pool.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.MaxPoolSize">
+            <summary>
+            Gets or sets a value indicating the maximum amount of sockets per server in the socket pool.
+            </summary>
+            <returns>The maximum amount of sockets per server in the socket pool. The default is 20.</returns>
+            <remarks>It should be 0.75 * (number of threads) for optimal performance.</remarks>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.ConnectionTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which the connection attempt will fail.
+            </summary>
+            <returns>The value of the connection timeout. The default is 10 seconds.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.QueueTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which the getting a connection from the pool will fail. The default is 100 msec.
+            </summary>
+            <returns>The value of the queue timeout.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.ReceiveTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which receiving data from the socket fails.
+            </summary>
+            <returns>The value of the receive timeout. The default is 10 seconds.</returns>
+        </member>
+        <member name="P:Enyim.Caching.Configuration.SocketPoolElement.DeadTimeout">
+            <summary>
+            Gets or sets a value that specifies the amount of time after which an unresponsive (dead) server will be checked if it is working.
+            </summary>
+            <returns>The value of the dead timeout. The default is 10 secs.</returns>
+        </member>
+        <member name="T:Enyim.Caching.Configuration.TextElement">
+            <summary>
+            CDATA config element
+            </summary>
+        </member>
+        <member name="T:Enyim.HashkitCrc32">
+            <summary>
+            CRC-32 implementation. Compatible with libhashkit.
+            </summary>
+        </member>
+        <member name="T:Enyim.HashkitMurmur">
+            <summary>
+            Murmur hash. Uses the same seed values as libhashkit.
+            </summary>
+            <remarks>Does not support block based hashing.</remarks>
+        </member>
+        <member name="T:Enyim.HashkitOneAtATime">
+            <summary>
+            This is Jenkin's "One at A time Hash".
+            http://en.wikipedia.org/wiki/Jenkins_hash_function
+            
+            Coming from libhashkit.
+            </summary>
+            <remarks>Does not support block based hashing.</remarks>
+        </member>
+        <member name="T:Enyim.HashCodeCombiner">
+            <summary>
+            Combines multiple hash codes into one.
+            </summary>
+        </member>
+        <member name="T:Enyim.Collections.InterlockedQueue`1">
+            <summary>
+            Implements a non-locking queue.
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="M:Enyim.Collections.InterlockedQueue`1.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:InterlockedQueue"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.Collections.InterlockedQueue`1.Dequeue(`0@)">
+            <summary>
+            Removes and returns the item at the beginning of the <see cref="T:InterlockedQueue"/>.
+            </summary>
+            <param name="value">The object that is removed from the beginning of the <see cref="T:InterlockedQueue"/>.</param>
+            <returns><value>true</value> if an item was successfully dequeued; otherwise <value>false</value>.</returns>
+        </member>
+        <member name="M:Enyim.Collections.InterlockedQueue`1.Enqueue(`0)">
+            <summary>
+            Adds an object to the end of the <see cref="T:InterlockedQueue"/>.
+            </summary>
+            <param name="value">The item to be added to the <see cref="T:InterlockedQueue"/>. The value can be <value>null</value>.</param>
+        </member>
+        <member name="T:Enyim.FNV64">
+            <summary>
+            Implements a 64 bit long FNV1 hash.
+            </summary>
+            <remarks>
+            Calculation found at http://lists.danga.com/pipermail/memcached/2007-April/003846.html, but 
+            it is pretty much available everywhere
+            </remarks>
+        </member>
+        <member name="M:Enyim.FNV64.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:FNV64"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV64.Initialize">
+            <summary>
+            Initializes an instance of <see cref="T:FNV64"/>.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV64.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>Routes data written to the object into the <see cref="T:FNV64" /> hash algorithm for computing the hash.</summary>
+            <param name="array">The input data. </param>
+            <param name="ibStart">The offset into the byte array from which to begin using data. </param>
+            <param name="cbSize">The number of bytes in the array to use as data. </param>
+        </member>
+        <member name="M:Enyim.FNV64.HashFinal">
+            <summary>
+            Returns the computed <see cref="T:FNV64" /> hash value after all data has been written to the object.
+            </summary>
+            <returns>The computed hash code.</returns>
+        </member>
+        <member name="T:Enyim.FNV64a">
+            <summary>
+            Implements a 64 bit long FVNV1a hash.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV64a.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>Routes data written to the object into the <see cref="T:FNV64" /> hash algorithm for computing the hash.</summary>
+            <param name="array">The input data. </param>
+            <param name="ibStart">The offset into the byte array from which to begin using data. </param>
+            <param name="cbSize">The number of bytes in the array to use as data. </param>
+        </member>
+        <member name="T:Enyim.FNV1">
+            <summary>
+            Implements an FNV1 hash algorithm.
+            </summary>
+        </member>
+        <member name="F:Enyim.FNV1.CurrentHashValue">
+            <summary>
+            The current hash value.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV1.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:FNV1a"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV1.Initialize">
+            <summary>
+            Initializes an instance of <see cref="T:FNV1a"/>.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV1.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>Routes data written to the object into the <see cref="T:FNV1a" /> hash algorithm for computing the hash.</summary>
+            <param name="array">The input data. </param>
+            <param name="ibStart">The offset into the byte array from which to begin using data. </param>
+            <param name="cbSize">The number of bytes in the array to use as data. </param>
+        </member>
+        <member name="M:Enyim.FNV1.HashFinal">
+            <summary>
+            Returns the computed <see cref="T:FNV1a" /> hash value after all data has been written to the object.
+            </summary>
+            <returns>The computed hash code.</returns>
+        </member>
+        <member name="T:Enyim.FNV1a">
+            <summary>
+            Implements an FNV1a hash algorithm.
+            </summary>
+        </member>
+        <member name="M:Enyim.FNV1a.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>Routes data written to the object into the <see cref="T:FNV1a" /> hash algorithm for computing the hash.</summary>
+            <param name="array">The input data. </param>
+            <param name="ibStart">The offset into the byte array from which to begin using data. </param>
+            <param name="cbSize">The number of bytes in the array to use as data. </param>
+        </member>
+        <member name="T:Enyim.ModifiedFNV">
+            <summary>
+            Implements a modified FNV hash. Provides better distribution than FNV1 but it's only 32 bit long.
+            </summary>
+            <remarks>Algorithm found at http://bretm.home.comcast.net/hash/6.html</remarks>
+        </member>
+        <member name="M:Enyim.ModifiedFNV.HashFinal">
+            <summary>
+            Returns the computed <see cref="T:ModifiedFNV" /> hash value after all data has been written to the object.
+            </summary>
+            <returns>The computed hash code.</returns>
+        </member>
+        <member name="T:Enyim.Caching.NullLoggerFactory">
+            <summary>
+            Creates an empty logger. Used when no other factories are installed.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.MemcachedClient">
+            <summary>
+            Memcached client.
+            </summary>
+        </member>
+        <member name="F:Enyim.Caching.MemcachedClient.Infinite">
+            <summary>
+            Represents a value which indicates that an item should never expire.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.#ctor">
+            <summary>
+            Initializes a new MemcachedClient instance using the default configuration section (enyim/memcached).
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.#ctor(System.String)">
+            <summary>
+            Initializes a new MemcachedClient instance using the specified configuration section. 
+            This overload allows to create multiple MemcachedClients with different pool configurations.
+            </summary>
+            <param name="sectionName">The name of the configuration section to be used for configuring the behavior of the client.</param>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.#ctor(Enyim.Caching.Configuration.IMemcachedClientConfiguration)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClient"/> using the specified configuration instance.
+            </summary>
+            <param name="configuration">The client configuration.</param>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Get(System.String)">
+            <summary>
+            Retrieves the specified item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to retrieve.</param>
+            <returns>The retrieved item, or <value>null</value> if the key was not found.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Get``1(System.String)">
+            <summary>
+            Retrieves the specified item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to retrieve.</param>
+            <returns>The retrieved item, or <value>default(T)</value> if the key was not found.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.TryGet(System.String,System.Object@)">
+            <summary>
+            Tries to get an item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to retrieve.</param>
+            <param name="value">The retrieved item or null if not found.</param>
+            <returns>The <value>true</value> if the item was successfully retrieved.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Store(Enyim.Caching.Memcached.StoreMode,System.String,System.Object)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <remarks>The item does not expire unless it is removed due memory pressure.</remarks>
+            <returns>true if the item was successfully stored in the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Store(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.TimeSpan)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <returns>true if the item was successfully stored in the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Store(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.DateTime)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <returns>true if the item was successfully stored in the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Cas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <remarks>The item does not expire unless it is removed due memory pressure. The text protocol does not support this operation, you need to Store then GetWithCas.</remarks>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Cas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.UInt64)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <remarks>The item does not expire unless it is removed due memory pressure.</remarks>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Cas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.TimeSpan,System.UInt64)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Cas(Enyim.Caching.Memcached.StoreMode,System.String,System.Object,System.DateTime,System.UInt64)">
+            <summary>
+            Inserts an item into the cache with a cache key to reference its location and returns its version.
+            </summary>
+            <param name="mode">Defines how the item is stored in the cache.</param>
+            <param name="key">The key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>A CasResult object containing the version of the item and the result of the operation (true if the item was successfully stored in the cache; false otherwise).</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64,System.TimeSpan)">
+            <summary>
+            Increments the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64,System.DateTime)">
+            <summary>
+            Increments the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64,System.TimeSpan,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Increment(System.String,System.UInt64,System.UInt64,System.DateTime,System.UInt64)">
+            <summary>
+            Increments the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to increase the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64,System.TimeSpan)">
+            <summary>
+            Decrements the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64,System.DateTime)">
+            <summary>
+            Decrements the value of the specified key by the given amount. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64,System.TimeSpan,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="validFor">The interval after the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Decrement(System.String,System.UInt64,System.UInt64,System.DateTime,System.UInt64)">
+            <summary>
+            Decrements the value of the specified key by the given amount, but only if the item's version matches the CAS value provided. The operation is atomic and happens on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="defaultValue">The value which will be stored by the server if the specified item was not found.</param>
+            <param name="delta">The amount by which the client wants to decrease the item.</param>
+            <param name="expiresAt">The time when the item is invalidated in the cache.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <returns>The new value of the item or defaultValue if the key was not found.</returns>
+            <remarks>If the client uses the Text protocol, the item must be inserted into the cache before it can be changed. It must be inserted as a <see cref="T:System.String"/>. Moreover the Text protocol only works with <see cref="T:System.UInt32"/> values, so return value -1 always indicates that the item was not found.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Append(System.String,System.ArraySegment{System.Byte})">
+            <summary>
+            Appends the data to the end of the specified item's data on the server.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="data">The data to be appended to the item.</param>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Prepend(System.String,System.ArraySegment{System.Byte})">
+            <summary>
+            Inserts the data before the specified item's data on the server.
+            </summary>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Append(System.String,System.UInt64,System.ArraySegment{System.Byte})">
+            <summary>
+            Appends the data to the end of the specified item's data on the server, but only if the item's version matches the CAS value provided.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <param name="data">The data to be prepended to the item.</param>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Prepend(System.String,System.UInt64,System.ArraySegment{System.Byte})">
+            <summary>
+            Inserts the data before the specified item's data on the server, but only if the item's version matches the CAS value provided.
+            </summary>
+            <param name="key">The key used to reference the item.</param>
+            <param name="cas">The cas value which must match the item's version.</param>
+            <param name="data">The data to be prepended to the item.</param>
+            <returns>true if the data was successfully stored; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.FlushAll">
+            <summary>
+            Removes all data from the cache. Note: this will invalidate all data on all servers in the pool.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Stats">
+            <summary>
+            Returns statistics about the servers.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Remove(System.String)">
+            <summary>
+            Removes the specified item from the cache.
+            </summary>
+            <param name="key">The identifier for the item to delete.</param>
+            <returns>true if the item was successfully removed from the cache; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Get(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Retrieves multiple items from the cache.
+            </summary>
+            <param name="keys">The list of identifiers for the items to retrieve.</param>
+            <returns>a Dictionary holding all items indexed by their key.</returns>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.SafeWaitAllAndDispose(System.Threading.WaitHandle[])">
+            <summary>
+            Waits for all WaitHandles and works in both STA and MTA mode.
+            </summary>
+            <param name="waitHandles"></param>
+        </member>
+        <member name="M:Enyim.Caching.MemcachedClient.Dispose">
+            <summary>
+            Releases all resources allocated by this instance
+            </summary>
+            <remarks>You should only call this when you are not using static instances of the client, so it can close all conections and release the sockets.</remarks>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.PooledSocket.InstanceId">
+            <summary>
+            The ID of this instance. Used by the <see cref="T:MemcachedServer"/> to identify the instance in its inner lists.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.Destroy">
+            <summary>
+            Releases all resources used by this instance and shuts down the inner <see cref="T:Socket"/>. This instance will not be usable anymore.
+            </summary>
+            <remarks>Use the IDisposable.Dispose method if you want to release this instance back into the pool.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.ReadByte">
+            <summary>
+            Reads the next byte from the server's response.
+            </summary>
+            <remarks>This method blocks and will not return until the value is read.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads data from the server into the specified buffer.
+            </summary>
+            <param name="buffer">An array of <see cref="T:System.Byte"/> that is the storage location for the received data.</param>
+            <param name="offset">The location in buffer to store the received data.</param>
+            <param name="count">The number of bytes to read.</param>
+            <remarks>This method blocks and will not return until the specified amount of bytes are read.</remarks>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.ReceiveAsync(Enyim.Caching.Memcached.AsyncIOArgs)">
+            <summary>
+            Receives data asynchronously. Returns true if the IO is pending. Returns false if the socket already failed or the data was available in the buffer.
+            p.Next will only be called if the call completes asynchronously.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.PooledSocket.AsyncSocketHelper">
+            <summary>
+            Supports exactly one reader and writer, but they can do IO concurrently
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.AsyncSocketHelper.Read(Enyim.Caching.Memcached.AsyncIOArgs)">
+            <summary>
+            returns true if io is pending
+            </summary>
+            <param name="p"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.PooledSocket.AsyncSocketHelper.EndReceive">
+            <summary>
+            returns true when io is pending
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.PlainTextAuthenticator">
+            <summary>
+            Implements the default plain text ("PLAIN") Memcached authentication.
+            </summary>
+            <remarks>Either use the parametrized constructor, or pass the "userName" and "password" parameters during initalization.</remarks>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.ISaslAuthenticationProvider">
+            <summary>
+            Provides the base interface for Memcached SASL authentication.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.CommandNotSupportedException">
+            <summary>
+            The exception that is thrown when a command is not supported by the Memcached server.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.MemcachedClientException">
+            <summary>
+            The exception that is thrown when a client error occures during communicating with the Memcached servers.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.MemcachedException">
+            <summary>
+            The exception that is thrown when an unknown error occures in the <see cref="T:MemcachedClient"/>
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedException"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedException"/> class with a specified error message.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedException"/> class with serialized data.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedClientException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClientException"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedClientException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClientException"/> class with a specified error message.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedClientException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClientException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedClientException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MemcachedClientException"/> class with serialized data.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.CommandNotSupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommandNotSupportedException"/> class.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.CommandNotSupportedException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommandNotSupportedException"/> class with a specified error message.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.CommandNotSupportedException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommandNotSupportedException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.CommandNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommandNotSupportedException"/> class with serialized data.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.IServerPool">
+            <summary>
+            Provides custom server pool implementations
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.IMemcachedKeyTransformer">
+            <summary>
+            Converts Memcached item keys into a custom format.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.IMemcachedKeyTransformer.Transform(System.String)">
+            <summary>
+            Performs the transformation.
+            </summary>
+            <param name="key">The key to be transformed.</param>
+            <returns>the transformed key.</returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.IMemcachedNodeLocator">
+            <summary>
+            Defines a locator class which maps item keys to memcached servers.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.IMemcachedNodeLocator.Initialize(System.Collections.Generic.IList{Enyim.Caching.Memcached.IMemcachedNode})">
+            <summary>
+            Initializes the locator.
+            </summary>
+            <param name="nodes">The memcached nodes defined in the configuration.</param>
+            <remarks>This called first when the server pool is initialized, and subsequently every time 
+            when a node goes down or comes back. If your locator has its own logic to deal with dead nodes 
+            then ignore all calls but the first. Otherwise make sure that your implementation can handle 
+            simultaneous calls to Initialize and Locate in a thread safe manner.</remarks>
+            <seealso cref="T:DefaultNodeLocator"/>
+            <seealso cref="T:KetamaNodeLocator"/>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.IMemcachedNodeLocator.Locate(System.String)">
+            <summary>
+            Returns the memcached node the specified key belongs to.
+            </summary>
+            <param name="key">The key of the item to be located.</param>
+            <returns>The <see cref="T:MemcachedNode"/> the specifed item belongs to</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.IMemcachedNodeLocator.GetWorkingNodes">
+            <summary>
+            Returns all the working nodes currently available to the locator.
+            </summary>
+            <remarks>It should return an instance which is safe to enumerate multiple times and provides the same results every time.</remarks>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.IProviderFactory`1">
+            <summary>
+            Provides a way for custom initalization of the providers (locators, transcoders, key transformers)
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Base64KeyTransformer">
+            <summary>
+            A key transformer which converts the item keys into Base64.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.SHA1KeyTransformer">
+            <summary>
+            A key transformer which converts the item keys into their SHA1 hash.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.TigerHashKeyTransformer">
+            <summary>
+            A key transformer which converts the item keys into their Tiger hash.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.KetamaNodeLocatorFactory">
+            <summary>
+            Implements Ketama cosistent hashing, compatible with the "spymemcached" Java client
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.DefaultNodeLocator">
+            <summary>
+            This is a ketama-like consistent hashing based node locator. Used when no other <see cref="T:IMemcachedNodeLocator"/> is specified for the pool.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.DefaultNodeLocator.FindNode(System.String)">
+            <summary>
+            locates a node by its key
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.KetamaNodeLocator">
+            <summary>
+            Implements Ketama cosistent hashing, compatible with the "spymemcached" Java client
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.KetamaNodeLocator.#ctor">
+            <summary>
+            Initialized a new instance of the <see cref="T:Enyim.Caching.Memcached.KetamaNodeLocator"/> using the default hash algorithm.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.KetamaNodeLocator.#ctor(System.String)">
+            <summary>
+            Initialized a new instance of the <see cref="T:Enyim.Caching.Memcached.KetamaNodeLocator"/> using a custom hash algorithm.
+            </summary>
+            <param name="hashName">The name of the hash algorithm to use.
+            <list type="table">
+            <listheader><term>Name</term><description>Description</description></listheader>
+            <item><term>md5</term><description>Equivalent of System.Security.Cryptography.MD5</description></item>
+            <item><term>sha1</term><description>Equivalent of System.Security.Cryptography.SHA1</description></item>
+            <item><term>tiger</term><description>Tiger Hash</description></item>
+            <item><term>crc</term><description>CRC32</description></item>
+            <item><term>fnv1_32</term><description>FNV Hash 32bit</description></item>
+            <item><term>fnv1_64</term><description>FNV Hash 64bit</description></item>
+            <item><term>fnv1a_32</term><description>Modified FNV Hash 32bit</description></item>
+            <item><term>fnv1a_64</term><description>Modified FNV Hash 64bit</description></item>
+            <item><term>murmur</term><description>Murmur Hash</description></item>
+            <item><term>oneatatime</term><description>Jenkin's "One at A time Hash"</description></item>
+            </list>
+            </param>
+            <remarks>If the hashName does not match any of the item on the list it will be passed to HashAlgorithm.Create.</remarks>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.KetamaNodeLocator.LookupData">
+            <summary>
+            this will encapsulate all the indexes we need for lookup
+            so the instance can be reinitialized without locking
+            in case an IMemcachedConfig implementation returns the same instance form the CreateLocator()
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.SingleNodeLocator">
+            <summary>
+            This is a simple node locator with no computation overhead, always returns the first server from the list. Use only in single server deployments.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.VBucketNodeLocator">
+            <summary>
+            Implements a vbucket based node locator.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.VBucketNodeLocatorFactory">
+            <summary>
+            Factory for the vbucket based locator.
+            </summary>
+            <remarks>You need to use this in the configuration file because this is the only way pass parameters to the VBucketNodeLocator.
+            
+            	<locator factory="Enyim.Caching.Memcached.VBucketNodeLocatorFactory" configFile="vbucket.json" />
+            
+            </remarks>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.MemcachedNode">
+            <summary>
+            Represents a Memcached node in the pool.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.Ping">
+            <summary>
+            Gets a value indicating whether the server is working or not.
+            
+            If the server is back online, we'll ercreate the internal socket pool and mark the server as alive so operations can target it.
+            </summary>
+            <returns>true if the server is alive; false otherwise.</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.Acquire">
+            <summary>
+            Acquires a new item from the pool
+            </summary>
+            <returns>An <see cref="T:PooledSocket"/> instance which is connected to the memcached server, or <value>null</value> if the pool is dead.</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.Dispose">
+            <summary>
+            Releases all resources allocated by this instance
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.MemcachedNode.EndPoint">
+            <summary>
+            Gets the <see cref="T:IPEndPoint"/> of this instance
+            </summary>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.MemcachedNode.IsAlive">
+            <summary>
+            <para>Gets a value indicating whether the server is working or not. Returns a <b>cached</b> state.</para>
+            <para>To get real-time information and update the cached state, use the <see cref="M:Ping"/> method.</para>
+            </summary>
+            <remarks>Used by the <see cref="T:ServerPool"/> to quickly check if the server's state is valid.</remarks>
+        </member>
+        <member name="F:Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl.freeItems">
+            <summary>
+            A list of already connected but free to use sockets
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl.Acquire">
+            <summary>
+            Acquires a new item from the pool
+            </summary>
+            <returns>An <see cref="T:PooledSocket"/> instance which is connected to the memcached server, or <value>null</value> if the pool is dead.</returns>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl.ReleaseSocket(Enyim.Caching.Memcached.PooledSocket)">
+            <summary>
+            Releases an item back into the pool
+            </summary>
+            <param name="socket"></param>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl.Dispose">
+            <summary>
+            Releases all resources allocated by this instance
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.IOperation.ReadResponseAsync(Enyim.Caching.Memcached.PooledSocket,System.Action{System.Boolean})">
+            <summary>
+            'next' is called when the operation completes. The bool parameter indicates the success of the operation.
+            </summary>
+            <param name="socket"></param>
+            <param name="next"></param>
+            <returns></returns>
+        </member>
+        <member name="P:Enyim.Caching.Memcached.ISingleItemOperation.CasValue">
+            <summary>
+            The CAS value returned by the server after executing the command.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.MultiItemOperation">
+            <summary>
+            Base class for implementing operations working with multiple items.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Operation">
+            <summary>
+            Base class for implementing operations.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Binary.BinaryNode">
+            <summary>
+            A node which is used by the BinaryPool. It implements the binary protocol's SASL auth. mechanism.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Protocol.Binary.BinaryNode.CreateSocket">
+            <summary>
+            Authenticates the new socket before it is put into the pool.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Protocol.Binary.BinaryNode.Auth(Enyim.Caching.Memcached.PooledSocket)">
+            <summary>
+            Implements memcached's SASL auth sequence. (See the protocol docs for more details.)
+            </summary>
+            <param name="socket"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Binary.BinaryOperationFactory">
+            <summary>
+            Memcached client.
+            </summary>
+        </member>
+        <member name="T:Enyim.Caching.Memcached.Protocol.Binary.BinaryPool">
+            <summary>
+            Server pool implementing the binary protocol.
+            </summary>
+        </member>
+        <member name="M:Enyim.Caching.Memcached.Protocol.Binary.BinaryResponse.ReadAsync(Enyim.Caching.Memcached.PooledSocket,System.Action{System.Boolean},System.Boolean@)">
+            <summary>