flush/reactivate servers, 1.2.0beta1 (was: Re: libmemcache(3) 1.1.0rc4...)

Sean Chittenden sean at chittenden.org
Wed Dec 22 14:59:28 PST 2004

>> Ah, yeah... that'd be easy to do too.  I thought I had an AM flight
>> today, turns out it's a PM flight, so I'm grounded and here at my colo
>> banging out code... I'll add two functions: one that does a global
>> reactivate, the other that does a per server reactivate.
> Awesome, that would be very helpful to me.

I'm breaking ABI and the API here... the flush commands had been  
bugging me for a while, so I fixed them to be more inline with how I'd  
like to see things.

/* Flushes all keys on a given server */
int	mc_flush(struct memcache *mc, struct memcache_server *ms);

/* Flushes all keys on all servers */
int	mc_flush_all(struct memcache *mc);

I'm going to bump the library version to 1.2 to denote this change.  I  
don't think it'll bite too many people, but if it does, they'll  
probably be happy with the resulting change.  I also renamed  
mc[m]?_deactivate_server*() to mc[m]?_server_deactivate*().


I'm not too terribly happy about the API breakage, but I think it's  
worth doing now as opposed to later.  I bumped the library version,  
however.  If there are any comments/concerns, please let me know.  I  
could keep a shim in there for source code compatibility, but haven't  
so far.


The most notable changes include:

*) Sucking in the necessary macro's from sys/queue.h.
*) Changed the flush API to allow a per server and a flush all servers  
in list command
*) Add a reactivate and reactivate all function


Sean Chittenden

More information about the memcached mailing list