S3FC project page | S3FC home page |
s3_inplace_fifo_base<T>
into a number of virtual queues, which are also s3_inplace_fifo_base<T>
's.
More...
#include <s3_inplace_fifo_mux.h>
Collaboration diagram for s3_inplace_fifo_mux:
Public Methods | |
s3_inplace_fifo_mux () | |
Default constructor that initialises the instance to the following state: is_started() == false auto_select == true no virtual queues no fifo queue. More... | |
~s3_inplace_fifo_mux () | |
Destructor: delete all the virtual queues - if is important to not refer to any queue returned by create_vqueue after this instance has destructed. More... | |
void | start () |
Start the mux. More... | |
void | stop () |
Stop the mux. More... | |
bool | is_started () const |
Return whether this instance is in the started state. More... | |
s3_inplace_fifo_base< T > & | create_vqueue () |
Create a new virtual queue stub, add it at the end of the virtual queue list. More... | |
void | destroy_vqueue (const s3_inplace_fifo_base< T > &vq) |
Remove the specified queue form the virtual queue list. More... | |
void | set_queue (s3_inplace_fifo_base< T > &q) |
Set the actual queue s3_inplace_fifo_base<T> queue that this mux multiplexes. More... | |
Private Attributes | |
s3_mutex | state_lock |
s3_inplace_fifo_base< T > * | queue |
std::vector< s3_inplace_fifo_mux< T >::stub_queue * > | vqueue_list |
int | current_idx |
bool | started |
bool | auto_select |
Friends | |
class | stub_queue |
s3_inplace_fifo_base<T>
into a number of virtual queues, which are also s3_inplace_fifo_base<T>
's.
Definition at line 48 of file s3_inplace_fifo_mux.h.
|
Default constructor that initialises the instance to the following state:
Definition at line 196 of file s3_inplace_fifo_mux.tcc. References auto_select, current_idx, queue, started, and vqueue_list. |
|
Destructor: delete all the virtual queues - if is important to not refer to any queue returned by
Definition at line 207 of file s3_inplace_fifo_mux.tcc. References vqueue_list. |
|
Create a new virtual queue stub, add it at the end of the virtual queue list.
A reference to this new queue is returned. This instance, and not the caller, owns the new queue. This may only be performed with the mux not in the
Definition at line 262 of file s3_inplace_fifo_mux.tcc. References s3_mutex::lock, started, state_lock, stub_queue, s3_mutex::unlock, and vqueue_list. |
|
Remove the specified queue form the virtual queue list.
The
Definition at line 281 of file s3_inplace_fifo_mux.tcc. References s3_mutex::lock, started, state_lock, s3_mutex::unlock, and vqueue_list. |
|
Return whether this instance is in the
Definition at line 251 of file s3_inplace_fifo_mux.tcc. References s3_mutex::lock, started, state_lock, and s3_mutex::unlock. |
|
Set the actual queue
If this instance is in the
Definition at line 358 of file s3_inplace_fifo_mux.tcc. References s3_mutex::lock, queue, started, state_lock, and s3_mutex::unlock. |
|
Start the mux.
This indicates that everything has been setup and that the mux is ready for operation. The mux is in the
Definition at line 219 of file s3_inplace_fifo_mux.tcc. References s3_mutex::lock, started, state_lock, and s3_mutex::unlock. |
|
Stop the mux.
The mux is not in the
Definition at line 235 of file s3_inplace_fifo_mux.tcc. References s3_mutex::lock, started, state_lock, and s3_mutex::unlock. |
|
Definition at line 54 of file s3_inplace_fifo_mux.h. Referenced by create_vqueue, and s3_inplace_fifo_mux::stub_queue::empty. |
|
Definition at line 67 of file s3_inplace_fifo_mux.h. Referenced by s3_inplace_fifo_mux. |
|
Definition at line 63 of file s3_inplace_fifo_mux.h. Referenced by s3_inplace_fifo_mux. |
|
Definition at line 59 of file s3_inplace_fifo_mux.h. Referenced by s3_inplace_fifo_mux, and set_queue. |
|
Definition at line 65 of file s3_inplace_fifo_mux.h. Referenced by create_vqueue, destroy_vqueue, is_started, s3_inplace_fifo_mux, set_queue, start, and stop. |
|
Definition at line 57 of file s3_inplace_fifo_mux.h. Referenced by create_vqueue, destroy_vqueue, is_started, set_queue, start, and stop. |
|
Definition at line 61 of file s3_inplace_fifo_mux.h. Referenced by create_vqueue, destroy_vqueue, s3_inplace_fifo_mux, and ~s3_inplace_fifo_mux. |
Send comments to: s3fc@stonethree.com |
|