On 2008-01-11 17:07:10 +0300, Tomash Brechko wrote:
> On Fri, Jan 11, 2008 at 16:54:26 +0300, Tomash Brechko wrote:
> > I'd love to coordinate F_COMPRESSED flag.  C::M and C::M::F currently
> > use 0x2 (0x1 is F_STORABLE).
> 
> Thinking more about this, perhaps we may do the following.  As I
> understand most client libraries do not export flags to the user, but
> use them internally for bookkeeping.  There are 16/32 (which one?)
> flag bits total.  We may separate this space into three classes:
> 
>  1 common, shared among all clients.  F_COMPRESSED goes here, and we
>    additionally agree that the compression algorithm is deflate
>    (gzip).
> 
>  2 common to the language family.  F_STORABLE goes here got Perl
>    family.
> 
>  3 common to the particular client family, i.e. private for internal
>    client use.  Please put F_UTF8 here ;).

I went through the list of clients on
http://www.danga.com/memcached/apis.bml and checked how they use the
flags (if there were several APIs for one programming language, I've
used only the newest, so the list is probably not complete). The result
is at:

http://www.hjp.at/zettel/m/memcached_flags.rxml

Ignoring libmemcached (which just passes through the flags and doesn't
treat them at all), all libraries seem to agree that bit 0 signifies
some language-specific serialization. Most libraries also also agree
that bit 1 means gzip compression, except the python library which uses
bit 3 for the same purpose. 

So at the moment no flag is completely portable, but at least bit 1 for
gzip compression has a solid majority.

        hp

-- 
   _  | Peter J. Holzer    | It took a genius to create [TeX],
|_|_) | Sysadmin WSR       | and it takes a genius to maintain it.
| |   | [EMAIL PROTECTED]         | That's not engineering, that's art.
__/   | http://www.hjp.at/ |    -- David Kastrup in comp.text.tex

Attachment: signature.asc
Description: Digital signature

Reply via email to