Protocol++® (Protocolpp®)  v5.6.2
ProtocolPP::jbuffman< T, Q > Class Template Reference

Public Member Functions

 jbuffman ()
 standard constructor for 16k buffers of size Q
 
 jbuffman (int numbufs)
 
 jbuffman (uint64_t memsize)
 
 jbuffman (jbuffman &rhs)
 
 jbuffman (const jbuffman &rhs)
 
virtual ~jbuffman ()=default
 standard destructor
 
void enque (std::shared_ptr< std::list< std::array< T, Q >>> &buffers)
 
void enque (std::list< std::array< T, Q >> &buffers)
 
void enque (std::shared_ptr< jbuffacc< T, Q >> &buffers)
 
void enque (jbuffacc< T, Q > &buffers)
 
void deque (int buffers, std::shared_ptr< std::list< std::array< T, Q >>> &linklist)
 
std::list< std::array< T, Q > > deque (int buffers)
 
void dequea (int buffers, std::shared_ptr< jbuffacc< T, Q >> &linklist)
 
jbuffacc< T, Q > dequea (int buffers)
 
int avail ()
 

Constructor & Destructor Documentation

◆ jbuffman() [1/4]

template<typename T , std::size_t Q>
jbuffman::jbuffman ( int  numbufs)
explicit

constructor for number of buffers of size Q

Parameters
numbufs- number of buffers to create in memory

◆ jbuffman() [2/4]

template<typename T , std::size_t Q>
jbuffman::jbuffman ( uint64_t  memsize)
explicit

constructor for memory size

Parameters
memsize- create memory of size memsize/size of individual buffer(Q)

◆ jbuffman() [3/4]

template<typename T , std::size_t Q>
jbuffman::jbuffman ( jbuffman< T, Q > &  rhs)

copy constructor

Parameters
rhs- buffman to copy

◆ jbuffman() [4/4]

template<typename T , std::size_t Q>
jbuffman::jbuffman ( const jbuffman< T, Q > &  rhs)

const copy constructor

Parameters
rhs- CONST buffman to copy

Member Function Documentation

◆ avail()

template<typename T , std::size_t Q>
int jbuffman::avail

return current number of avaible buffers

Returns
- number of available buffers of size Q

◆ deque() [1/2]

template<typename T , std::size_t Q>
std::list< std::array< T, Q > > jbuffman::deque ( int  buffers)

return buffers from the memory

Parameters
buffers- number of buffers requested from memory
Returns
- linked-list of buffers to return

◆ deque() [2/2]

template<typename T , std::size_t Q>
void jbuffman::deque ( int  buffers,
std::shared_ptr< std::list< std::array< T, Q >>> &  linklist 
)

return buffers from the memory

Parameters
buffers- number of buffers requested from memory
linklist- linked-list of buffers to return wrapped in shared_ptr

◆ dequea() [1/2]

template<typename T , std::size_t Q>
jbuffacc< T, Q > jbuffman::dequea ( int  buffers)

return buffers from the memory

Parameters
buffers- number of buffers requested from memory
Returns
- linked-list of buffers to return

◆ dequea() [2/2]

template<typename T , std::size_t Q>
void jbuffman::dequea ( int  buffers,
std::shared_ptr< jbuffacc< T, Q >> &  linklist 
)

return buffers from the memory

Parameters
buffers- number of buffers requested from memory
linklist- linked-list of buffers to return wrapped in shared_ptr

◆ enque() [1/4]

template<typename T , std::size_t Q>
void jbuffman::enque ( jbuffacc< T, Q > &  buffers)

add buffers back to the memory

Parameters
buffers- linked-list of buffers to return to the memory
Here is the call graph for this function:

◆ enque() [2/4]

template<typename T , std::size_t Q>
void jbuffman::enque ( std::list< std::array< T, Q >> &  buffers)

add buffers back to the memory

Parameters
buffers- linked-list of buffers to return to the memory

◆ enque() [3/4]

template<typename T , std::size_t Q>
void jbuffman::enque ( std::shared_ptr< jbuffacc< T, Q >> &  buffers)

add buffers back to the memory from linked-list

Parameters
buffers- linked-list of buffers to return to the memory

◆ enque() [4/4]

template<typename T , std::size_t Q>
void jbuffman::enque ( std::shared_ptr< std::list< std::array< T, Q >>> &  buffers)

add buffers back to the memory from linked-list

Parameters
buffers- linked-list of buffers to return to the memory

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