A Discrete-Event Network Simulator
API
Modules | Files | Namespaces | Classes | Functions
Hash Functions

Generic Hash function interface. More...

Modules

 FNV Hash Implementation
 
 Hash test suite
 
 Murmur3 Hash Implementation
 

Files

file  hash-example.cc
 
Example usage of ns3::Hash.
 
file  hash-fnv.cc
 ns3::Hash::Function::Fnv1a implementation.
 
file  hash-fnv.h
 ns3::Hash::Function::Fnv1a declaration.
 
file  hash-function.cc
 ns3::Hash::Implementation::GetHash64 default implementation.
 
file  hash-function.h
 ns3::Hash::Implementation, ns3::Hash::Function::Hash32 and ns3::Hash::Function::Hash64 declarations.
 
file  hash-murmur3.cc
 ns3::Hash::Function::Murmur3 implementation.
 
file  hash-murmur3.h
 ns3::Hash::Function::Murmur3 declaration.
 
file  hash-test-suite.cc
 Hash test suite.
 
file  hash.cc
 ns3::Hasher implementation.
 
file  hash.h
 ns3::Hasher, ns3::Hash32() and ns3::Hash64() function declarations.
 

Namespaces

 ns3::Hash
 Hash function implementations.
 
 ns3::Hash::Example
 Namespace for hasher-example.
 
 ns3::Hash::Function
 Hash functions.
 

Classes

class  ns3::Hash::Function::Fnv1a
 Fnv1a hash function implementation. More...
 
class  ns3::Hash::Function::Hash32
 Template for creating a Hash::Implementation from a 32-bit hash function. More...
 
class  ns3::Hash::Function::Hash64
 Template for creating a Hash::Implementation from a 64-bit hash function. More...
 
class  ns3::Hasher
 Generic Hash function interface. More...
 
class  ns3::Hash::Implementation
 Hash function implementation base class. More...
 
class  ns3::Hash::Function::Murmur3
 Murmur3 hash function implementation. More...
 

Functions

uint32_t ns3::Hash32 (const char *buffer, const std::size_t size)
 Compute 32-bit hash of a byte buffer, using the default hash function. More...
 
uint32_t ns3::Hash32 (const std::string s)
 Compute 32-bit hash of a string, using the default hash function. More...
 
uint64_t ns3::Hash64 (const char *buffer, const std::size_t size)
 Compute 64-bit hash of a byte buffer, using the default hash function. More...
 
uint64_t ns3::Hash64 (const std::string s)
 Compute 64-bit hash of a string, using the default hash function. More...
 
typedef uint32_t(* ns3::Hash::Hash32Function_ptr) (const char *, const std::size_t)
 Function pointer signatures for basic hash functions. More...
 
typedef uint64_t(* ns3::Hash::Hash64Function_ptr) (const char *, const std::size_t)
 Function pointer signatures for basic hash functions. More...
 

Detailed Description

Generic Hash function interface.

See Hasher for main entry point. See hash-example.cc for example usage.

Typedef Documentation

◆ Hash32Function_ptr

typedef uint32_t(* ns3::Hash::Hash32Function_ptr) (const char *, const std::size_t)

Function pointer signatures for basic hash functions.

See Hash::Function::Hash32 or Hash::Function::Hash64

Definition at line 111 of file hash-function.h.

◆ Hash64Function_ptr

typedef uint64_t(* ns3::Hash::Hash64Function_ptr) (const char *, const std::size_t)

Function pointer signatures for basic hash functions.

See Hash::Function::Hash32 or Hash::Function::Hash64

Definition at line 112 of file hash-function.h.

Function Documentation

◆ Hash32() [1/2]

uint32_t ns3::Hash32 ( const char *  buffer,
const std::size_t  size 
)
inline

Compute 32-bit hash of a byte buffer, using the default hash function.

Parameters
[in]bufferPointer to the beginning of the buffer.
[in]sizeLength of the buffer, in bytes.
Returns
32-bit hash of the buffer.

Definition at line 276 of file hash.h.

References ns3::Hasher::GetHash32().

Referenced by ns3::tests::DefaultHashTestCase::DoRun(), ns3::ArpQueueDiscItem::Hash(), ns3::Ipv4QueueDiscItem::Hash(), and ns3::Ipv6QueueDiscItem::Hash().

◆ Hash32() [2/2]

uint32_t ns3::Hash32 ( const std::string  s)
inline

Compute 32-bit hash of a string, using the default hash function.

Parameters
[in]sString to hash.
Returns
32-bit hash of the string.

Definition at line 290 of file hash.h.

References ns3::Hasher::GetHash32().

◆ Hash64() [1/2]

uint64_t ns3::Hash64 ( const char *  buffer,
const std::size_t  size 
)
inline

Compute 64-bit hash of a byte buffer, using the default hash function.

Parameters
[in]bufferPointer to the beginning of the buffer.
[in]sizeLength of the buffer, in bytes.
Returns
64-bit hash of the buffer.

Definition at line 283 of file hash.h.

References ns3::Hasher::GetHash64().

Referenced by ns3::tests::DefaultHashTestCase::DoRun().

◆ Hash64() [2/2]

uint64_t ns3::Hash64 ( const std::string  s)
inline

Compute 64-bit hash of a string, using the default hash function.

Parameters
[in]sString to hash.
Returns
64-bit hash of the string.

Definition at line 297 of file hash.h.

References ns3::Hasher::GetHash64().