org.ccnx.ccn.protocol.BloomFilter Class Reference

Implement bloom filter operations. More...

Inheritance diagram for org.ccnx.ccn.protocol.BloomFilter:

org.ccnx.ccn.protocol.Exclude.Filler org.ccnx.ccn.protocol.Exclude.Element org.ccnx.ccn.impl.encoding.GenericXMLEncodable org.ccnx.ccn.impl.encoding.XMLEncodable org.ccnx.ccn.impl.encoding.XMLEncodable

List of all members.

Public Member Functions

 BloomFilter (int estimatedMembers, byte[] seed)
 Constructor.
 BloomFilter ()
 For decoding.
void insert (byte[] key)
 Insert a key.
boolean match (byte[] key)
 Test if the bloom filter matches a particular key.
int size ()
 Returns the value given on creation by estimatedMembers.
byte[] seed ()
 Get a copy of the seed.
long getElementLabel ()
 Gets the type of element this is within an exclude filter.
void decode (XMLDecoder decoder) throws ContentDecodingException
 Decode this object as the top-level item in a new XML document, reading it from a network buffer.
void encode (XMLEncoder encoder) throws ContentEncodingException
 Encode this object during an ongoing encoding pass; this is what subclasses generally need to know how to implement.
int compareTo (BloomFilter o)
BloomFilter clone () throws CloneNotSupportedException
boolean validate ()
 Make sure all of the necessary fields are filled in prior to attempting to encode.
int hashCode ()
boolean equals (Object obj)

Static Public Member Functions

static byte[] createSeed ()
 Create a seed from random values.


Detailed Description

Implement bloom filter operations.

Bloom filters are used to exclude keys that are inserted into the filter


Constructor & Destructor Documentation

org.ccnx.ccn.protocol.BloomFilter.BloomFilter ( int  estimatedMembers,
byte[]  seed 
)

Constructor.

Parameters:
estimatedMembers The performance of the bloom filter can be improved by accurately estimating the number of members that will be inserted into it. Too low a number will increase the likelihood of false positives. Too high a number will cause the filter to be larger than necessary, impacting performance. It is better for this number to be too low than too high.
seed Random seed data must be of length 4


Member Function Documentation

static byte [] org.ccnx.ccn.protocol.BloomFilter.createSeed (  )  [static]

Create a seed from random values.

Returns:
the seed

void org.ccnx.ccn.protocol.BloomFilter.insert ( byte[]  key  ) 

Insert a key.

Parameters:
key a key to exclude

boolean org.ccnx.ccn.protocol.BloomFilter.match ( byte[]  key  )  [virtual]

Test if the bloom filter matches a particular key.

Note - a negative result means the key was definitely not set, but a positive result only means the key was likely set.

Parameters:
key key to test
Returns:
false if not set

Implements org.ccnx.ccn.protocol.Exclude.Filler.

int org.ccnx.ccn.protocol.BloomFilter.size (  ) 

Returns the value given on creation by estimatedMembers.

See also:
BloomFilter.BloomFilter
Returns:
the estimated members of this filter

byte [] org.ccnx.ccn.protocol.BloomFilter.seed (  ) 

Get a copy of the seed.

Returns:
copy of seed

void org.ccnx.ccn.protocol.BloomFilter.decode ( XMLDecoder  decoder  )  throws ContentDecodingException [virtual]

Decode this object as the top-level item in a new XML document, reading it from a network buffer.

Reads document start and end. Assumes default encoding.

Parameters:
buf input stream to read from
Exceptions:
ContentDecodingException if there is an error decoding the content Decode this object as the top-level item in a new XML document, reading it from a network buffer. Reads document start and end.
Parameters:
buf input stream to read from
codec the codec to use; must be recognized by XMLCodecFactory
Exceptions:
ContentDecodingException if there is an error decoding the content
See also:
XMLCodecFactory Decode this object during an ongoing decoding pass; this is what subclasses generally need to know how to implement. Reads just the object itself, higher-level processes have handled start and end document if need be. Allows object to be read using the same code whether it is a top-level element written alone, or nested inside another element.
Parameters:
decoder the decoder being used; encapsulates state including the codec being used as well as the input source and current offset

Implements org.ccnx.ccn.impl.encoding.GenericXMLEncodable.

void org.ccnx.ccn.protocol.BloomFilter.encode ( XMLEncoder  encoder  )  throws ContentEncodingException [virtual]

Encode this object during an ongoing encoding pass; this is what subclasses generally need to know how to implement.

Writes just the object itself, higher-level processes have handled start and end document if need be. Allows object to be written using the same code whether it is a top-level element written alone, or nested inside another element.

Parameters:
encoder the encoder being used; encapsulates state including the codec being used as well as the output destination and current offset

Implements org.ccnx.ccn.impl.encoding.GenericXMLEncodable.

boolean org.ccnx.ccn.protocol.BloomFilter.validate (  )  [virtual]

Make sure all of the necessary fields are filled in prior to attempting to encode.

All implementations of encode(XMLEncoder) should call this for their classes prior to encoding.

Returns:
true if object is valid and can be encoded, false if there is a problem; for example mandatory fields are uninitialized

Implements org.ccnx.ccn.impl.encoding.GenericXMLEncodable.


The documentation for this class was generated from the following file:

Generated on Thu Feb 16 00:45:05 2012 for Content-Centric Networking in Java by  doxygen 1.5.6