1 #ifndef _midge__buffer_hh_ 2 #define _midge__buffer_hh_ 14 template<
class x_type >
54 template<
class x_r,
class... x_args >
55 void call( x_r (x_type::*p_member)(x_args...), x_args... args)
91 std::timed_mutex** t_new_read_mutexes =
new std::timed_mutex*[ t_new_read_count ];
96 t_new_read_mutexes[ t_read_index ] =
f_read_mutexes[ t_read_index ];
97 t_new_read_streams[ t_read_index ] =
f_read_streams[ t_read_index ];
100 f_read_count = t_new_read_count;
179 if( (++
f_count % 100000) == 0 )
181 msg_normal( coremsg,
"write stream <" <<
this <<
"> processed <" <<
f_count <<
"> requests" <<
eom );
std::timed_mutex ** f_read_mutexes
std::timed_mutex f_write_mutex
_buffer(node *a_out_node)
static const message_end eom
_write_stream * f_write_stream
#define IF_STREAM_TIMING_ENABLED(x_line)
_stream< x_type > * write()
_read_stream(_buffer &p_buffer)
count_t get_current_index() const
count_t f_mutex_wait_msec
static const enum_t s_error
void initialize(const count_t &p_length)
void call(x_r(x_type::*p_member)(x_args...), x_args... args)
std::string f_write_stream_name
virtual void timer_report() const
_stream< x_type > * read()
void set_write_stream_name(const std::string &a_name)
count_t get_current_index() const
_write_stream(_buffer &p_buffer)
_read_stream ** f_read_streams
#define msg_normal(x_name, x_content)
static const enum_t s_run