Alignment in the binary protocol
Dustin Sallings
dustin at spy.net
Tue Mar 18 17:30:08 UTC 2008
On Mar 18, 2008, at 4:59, Trond Norbye wrote:
> Hi,
>
> I have been testing the binary protocol the last few days and I
> would like to suggest that we swap the order some fields to solve
> some alignment problems.
>
> The cas-id is a 64-bit datatype and will require 8-byte alignment on
> some hardware, but it is placed on a 4-byte alignment in the get
> response. The current get-response contains a 16 byte header
> followed by the 4 byte flags-field causing the wrong alignment for
> the cas id. If we swap the order on the two fields the cas-id will
> get proper alignment, and we can access the field directly as an
> uint64_t...
>
> To be consistent I suggest that we move the cas-id to the front in
> the set/add/replace command as well. The attached patch implements
> this.
Hey, could I get you to merge this with the current binary tree? I
did some cleanup work and it doesn't apply cleanly. Since there are
changes to how things work, I really want to make sure I preserve your
intentions before doing client work.
As I put no effort into considering 64-bit alignment, I don't have
any issue with this. Does anyone else?
--
Dustin Sallings
More information about the memcached
mailing list