All Packages This Package Class Hierarchy Class Search Index
Class grendel.storage.MessageID
java.lang.Object | +----grendel.storage.MessageID
This class represents a Message-ID. It does not contain the ID itself: there is no way to reconstruct the original string from this object; however, it contains a hash of that string which should be sufficiently unique so that the odds of a collision are 1 in 2^32 (since it is a 64-bit hash.)
We store the hash instead of the original string because it takes up significantly less memory, and in order to do threading, we tend to need a huge number of Message-IDs in memory at once.
See Also: MessageIDTable
class MessageID
extends java.lang.Object
{
// Fields 1
long hash;
// Constructors 4
MessageID();
MessageID(byte[], int, int);
MessageID(String);
MessageID(long);
// Methods 4
public boolean equals(Object);
protected long hashBytes(byte[], int, int);
public int hashCode();
public String toString();
}
Fields
hash
long hash
Constructors
MessageID
MessageID()
Constructs a MessageID object with a null hash.
MessageID
MessageID(long hash)
Constructs a MessageID object with the given hash.
MessageID
MessageID(byte[] bytes,
int start,
int length)
Constructs a MessageID object for the given sub-sequence of bytes. A pointer to the bytes is not retained.
MessageID
MessageID(String chars)
Methods
toString
public String toString()
hashCode
public int hashCode()
equals
public boolean equals(Object x)
hashBytes
protected long hashBytes(byte[] bytes,
int start,
int length)
Computes a 64-bit hash of the given subsequence of bytes.
Note: this hash value is written out to mail summary files by the MailSummaryFileGrendel class. If the hash algorithm is changed, it will invalidate all existing mail summary files, and necessitate a change of the file format version number.
See Also: MailSummaryFileGrendel
All Packages This Package Class Hierarchy Class Search IndexFreshly brewed Java API Documentation automatically generated with polardoc Version 1.0.4