| 74 | } |
| 75 | |
| 76 | func (h *header) Deserialize(buffer []byte) { |
| 77 | h.Magic = uint8(buffer[0]) |
| 78 | h.OpCode = uint8(buffer[1]) |
| 79 | h.KeyLength = binary.BigEndian.Uint16(buffer[2:]) |
| 80 | h.ExtrasLength = uint8(buffer[4]) |
| 81 | h.DataType = uint8(buffer[5]) |
| 82 | h.VBucketIdOrStatus = binary.BigEndian.Uint16(buffer[6:]) |
| 83 | h.TotalBodyLength = binary.BigEndian.Uint32(buffer[8:]) |
| 84 | h.Opaque = binary.BigEndian.Uint32(buffer[12:]) |
| 85 | h.DataVersionId = binary.BigEndian.Uint64(buffer[16:]) |
| 86 | } |
| 87 | |
| 88 | // An unsharded memcache client implementation which operates on a pre-existing |
| 89 | // io channel (The user must explicitly setup and close down the channel), |