Message Format

A Cache Digest message consists of a fixed 128-octet header (see Figure E-3 followed by a variable-sized Bloom filter. The header definitions are as follows:

Cache Digest header

Figure E-3. Cache Digest header

CURRENT

This is the version number of the digest. The CURRENT version number is incremented whenever a significant feature is added to the Cache Digest protocol. When the digest recipient decodes a message, the CURRENT value indicates which protocol features are included.

REQUIRED

This is the minimum version number required to correctly interpret the digest message. In other words, this specifies the last version this message is backward-compatible with. It can also be used to “eliminate” serious bugs. If a bug is found with the Version X implementation, a sender can set the REQUIRED value to X+1. Then, all buggy implementations that support only Version X are forced to ignore the cache digest message.

CAPACITY

This is an estimate of the number of objects for which the digest was built. It is in the header for informational purposes only. A digest user does not need to know the CAPACITY to decode the digest.

COUNT

This is the actual number of objects encoded by this digest. It may be larger or smaller than CAPACITY. This value also is not needed to decode the digest.

DEL_COUNT

This is a counter that tracks the number of objects removed from the cache since the digest was last created. Deletions are not supported in the current implementation, so this value is always 0.

MASK_SIZE

This is the number of octets comprising the Bloom filter. In other words, the message includes this many octets immediately following the header.

BPE

BPE is an abbreviation for bits-per-entry. This value is used to size the Bloom filter, based on the CAPACITY. In any Cache Digest header, the following equation must be true:

Cache Digest header

The bits-per-entry value really doesn’t belong in the Cache Digest header because it is not needed to use the digest. Furthermore, bits-per-entry is not necessarily an integer value.

HFC

HFC is an abbreviation for hash function count. It specifies the number of hash functions used by the Bloom filter. Note, however, that it does not specify which hash functions are used. In the current implementation, HFC is always set to 4.

RESERVED

The remaining 106 octets are currently unused and reserved for future growth. All RESERVED areas must be zero-filled.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.218.172.249