Main Page Modules Namespaces C++ Classes Compound List File List Index
TNL: TNL::ClientPuzzleManager::NonceTable Class Reference

# TNL::ClientPuzzleManager::NonceTable Class Reference

## Detailed Description

NonceTable manages the list of client nonces for which clients have constructed valid puzzle solutions for the current server nonce.

There are 2 nonce tables in the ClientPuzzleManager - one for the current nonce and one for the previous nonce.

## Public Member Functions

| NonceTable ()
| NonceTable constructor.
void | reset ()
| Resets and clears the nonce table.
bool | checkAdd (Nonce &theNonce)
| checks if the given nonce is already in the table and adds it if it is not.

## Private Types

enum | { MinHashTableSize = 127, MaxHashTableSize = 387 }

## Private Attributes

Entry ** | mHashTable
U32 | mHashTableSize
DataChunker | mChunker

## Data Structures

struct | Entry

## Member Enumeration Documentation

anonymous enum`[private]`

Enumerator:

  MinHashTableSize |
  MaxHashTableSize |

## Constructor & Destructor Documentation

TNL::ClientPuzzleManager::NonceTable::NonceTable | ( |  | ) | `[inline]`

NonceTable constructor.

## Member Function Documentation

void TNL::ClientPuzzleManager::NonceTable::reset | ( |  | ) |

Resets and clears the nonce table.

bool TNL::ClientPuzzleManager::NonceTable::checkAdd | ( | Nonce & | theNonce | ) |

checks if the given nonce is already in the table and adds it if it is not.

Returns true if the nonce was not in the table when the function was called.

## Field Documentation

Entry** TNL::ClientPuzzleManager::NonceTable::mHashTable`[private]`

U32 TNL::ClientPuzzleManager::NonceTable::mHashTableSize`[private]`

DataChunker TNL::ClientPuzzleManager::NonceTable::mChunker`[private]`