2004-01-14  Jackson Harper <jackson@ximian.com>

	* Cache.cs: Return null when items are expired but have not been
	removed yet.
	* OutputCacheModule.cs: Handle sliding expirations. Remove hacks
	checking if the item is expired, the cache no longer returns
	expired items.
	
2004-01-14  Jackson Harper <jackson@ximian.com>

	* Cache.cs: When using sliding expiration update the cache objects
	expires time as well as the expires entry expire time because the
	objects expire time is checked when objects are pulled out. This
	fixex bug #52778.
	
2004-01-11  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: Remove varyby objects when there are no
	more raw responses that belong to them.
	* CachedRawResponse.cs: Keep a reference to the VaryBy object that
	this response belongs to this is so the varyby can be cleaned up.
	* CachedVaryBy.cs: Keep a reference to the keys that belong to the
	varyby and a reference to the varyby's key.
	
2004-01-04  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: Dont cache items when trace is enabled.
	
2004-01-04  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: Update the date header value.
	* CachedRawResponse.cs: Expose a ref to the date header, so it can
	be easily set/updated. Remove unused methods and vars.
	
2004-01-04  Jackson Harper <jackson@ximian.com>

	* CacheDependency.cs: Copy all the entries into the entries array,
	set on removed callback for items that we are dependent on.
	* Cache.cs: Add method to get CacheEntry objects.
	* OutputCacheModule.cs: Make raw repsonse entries dependent on 
	their varyby param entries.

2004-01-04  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: VaryBy keys now need the HttpContext not just the request.
	* CachedVaryBy.cs: Handle vary by headers, and vary by custom.
	
2004-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ExpiresBuckets.cs: set _intPos when expanding the array. Fixes bug
	52541. Patch by Jan Jaros (mono-bug@jerryweb.info).

2003-11-21  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: Only cache a page if it has a 200 status
	code. Fix tabbing.
	* CachedVaryBy.cs: Give raw response keys a name, use the
	httpmethod in the key, and delimit items with \n so it is easier
	to read when debugging.
	
2003-11-21  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: Store a CachedVaryBy object for each
	cached page. Then store a CachedRawResponse for each combination
	of varried parameters for a page.
	* CachedRawResponse.cs: Do not need to store param values anymore
	those are stored in the CachedVaryBy now. Get the content length
	so we dont send back the entire buffer.
	* CachedVaryBy.cs: New file - holds the varyby data for a page,
	and a method to generate a key based on params. Right now this
	only works with VaryByParams. TODO: support VaryByHeaders and
	VaryByCustom.
	
2003-11-20  Jackson Harper <jackson@ximian.com>

	* Cache.cs: New method so non public cache items can be added.
	* CachedRawResponse.cs: New file - A snapshot of a response that
	is stored in the cache and can be used to create a new response.
	* OutputCacheModule.cs: Module for inserting and retrieving
	responses from the cache.
	
2003-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheDependency.cs:
	* CacheEntry.cs:
	* Watcher.cs: added a FileSystemWatcher-like class for dependency checking.

2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Cache.cs:
	* CacheDefinitions.cs:
	* CacheDependency.cs:
	* CacheEntry.cs:
	* CacheExpires.cs:
	* ExpiresBuckets.cs: reformatted, make class status page happier. Does
	not work yet (wait for the next patch).

2002-12-27  Daniel Cazzulino <dcazzulino@users.sf.net>

	* CacheEntry.cs: several changes. New constants, use of constants
	defined in Cache.cs, modified locks to optimize perf. Fixed property
	sets which weren't using the keyword value to set the new values
	(don't know how this worked before!).

	* Cache.cs: changed singleton implementation to only create the object
	when actually used. Changed Insert overloads to use constants
	defined instead of hard values.

	* ExpiresBuchets: major changes. All locking now uses ReaderWriterLock
	class. Bucket now efectively reuses free indexes from removed items
	to avoid unnecessary expansions. Expansion now uses Array.CopyTo to
	add elements to the new list. Added private Int32Collection to
	handle int indexes efficiently (thanks Shawn Van Ness). See comments
	there.

2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Cache.cs: little fixes.

2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheDefinitions.cs: fixed a couple of enums.

	* CacheDependency.cs: the class is sealed.

2002-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheDependency.cs: fixed a couple of typos and don't throw
	NotImplementedException in constructors.

2001-12-21      Gaurav Vaish <gvaish@iitk.ac.in>

        * CacheDependency.cs:    Some unimplemented methods to make build

2001-07-20	Patrik Torstensson (Patrik.Torstensson@labs2.com)

	* Cache.cs:	Implemented. (90% ready)
	* CacheDefinitions.cs: Implemented.
	* CacheDependency.cs: Added. (20% ready)
	* CacheExpires: Implemented.
	* CacheEntry.cs: Implemented. (95% ready, going to be changed due to CacheDependecy support)
	* ExpiresBuckets.cs: Implemented.
