OmniSketch  0.1
Oh my sketch!
OmniSketch::Sketch::HashPipe< key_len, T, hash_t > Class Template Reference

Hash Pipe. More...

#include <HashPipe.h>

Inheritance diagram for OmniSketch::Sketch::HashPipe< key_len, T, hash_t >:

Public Member Functions

 HashPipe (int32_t depth_, int32_t width_)
 Construct by specifying depth and width. More...
 
 ~HashPipe ()
 Release the pointer. More...
 
void update (const FlowKey< key_len > &flowkey, T val) override
 Update a flowkey with certain value. More...
 
query (const FlowKey< key_len > &flowkey) const override
 Query a flowkey. More...
 
Data::Estimation< key_len, T > getHeavyHitter (double threshold) const override
 Get Heavy Hitter. More...
 
size_t size () const override
 Get sketch size. More...
 
void clear ()
 Reset the sketch. More...
 
- Public Member Functions inherited from OmniSketch::Sketch::SketchBase< key_len, T >
virtual void insert (const FlowKey< key_len > &flowkey)
 Insert a flowkey without value. More...
 
virtual bool lookup (const FlowKey< key_len > &flowkey) const
 Look up a flowkey in the sketch. More...
 
virtual Data::Estimation< key_len, T > getHeavyChanger (std::unique_ptr< SketchBase< key_len, T >> &ptr_sketch, double threshold) const
 Get all the heavy changers. More...
 
virtual Data::Estimation< key_len, T > decode ()
 Decode all flowkeys along with their values. More...
 

Detailed Description

template<int32_t key_len, typename T, typename hash_t = Hash::AwareHash>
class OmniSketch::Sketch::HashPipe< key_len, T, hash_t >

Hash Pipe.

Template Parameters
key_lenlength of flowkey
Ttype of the counter
hash_thashing class

Constructor & Destructor Documentation

◆ HashPipe()

template<int32_t key_len, typename T , typename hash_t >
OmniSketch::Sketch::HashPipe< key_len, T, hash_t >::HashPipe ( int32_t  depth_,
int32_t  width_ 
)

Construct by specifying depth and width.

◆ ~HashPipe()

template<int32_t key_len, typename T , typename hash_t >
OmniSketch::Sketch::HashPipe< key_len, T, hash_t >::~HashPipe

Release the pointer.

Member Function Documentation

◆ clear()

template<int32_t key_len, typename T , typename hash_t >
void OmniSketch::Sketch::HashPipe< key_len, T, hash_t >::clear

Reset the sketch.

◆ getHeavyHitter()

template<int32_t key_len, typename T , typename hash_t >
Data::Estimation< key_len, T > OmniSketch::Sketch::HashPipe< key_len, T, hash_t >::getHeavyHitter ( double  threshold) const
overridevirtual

Get Heavy Hitter.

Parameters
thresholdA flowkey is a HH iff its counter >= threshold

Reimplemented from OmniSketch::Sketch::SketchBase< key_len, T >.

◆ query()

template<int32_t key_len, typename T , typename hash_t >
T OmniSketch::Sketch::HashPipe< key_len, T, hash_t >::query ( const FlowKey< key_len > &  flowkey) const
overridevirtual

Query a flowkey.

Reimplemented from OmniSketch::Sketch::SketchBase< key_len, T >.

◆ size()

template<int32_t key_len, typename T , typename hash_t >
size_t OmniSketch::Sketch::HashPipe< key_len, T, hash_t >::size
overridevirtual

Get sketch size.

Reimplemented from OmniSketch::Sketch::SketchBase< key_len, T >.

◆ update()

template<int32_t key_len, typename T , typename hash_t >
void OmniSketch::Sketch::HashPipe< key_len, T, hash_t >::update ( const FlowKey< key_len > &  flowkey,
val 
)
overridevirtual

Update a flowkey with certain value.

Reimplemented from OmniSketch::Sketch::SketchBase< key_len, T >.