nds2-client - ClientDeveloper  0.16.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Private Types | Private Attributes | List of all members
NDS::detail::iterate_handler_with_simple_gaps Class Reference

#include <nds_iterate_handlers.hh>

Inheritance diagram for NDS::detail::iterate_handler_with_simple_gaps:
Inheritance graph
[legend]
Collaboration diagram for NDS::detail::iterate_handler_with_simple_gaps:
Collaboration graph
[legend]

Classes

struct  indexed_buffers
 

Public Member Functions

 iterate_handler_with_simple_gaps (buffer::gps_second_type gps_start, buffer::gps_second_type gps_stop, buffer::gps_second_type stride, const connection::channel_names_type &channel_names, std::shared_ptr< NDS::detail::conn_p_type > &&parent, std::unique_ptr< detail::gap_handler > ghandler)
 
 ~iterate_handler_with_simple_gaps () override=default
 
bool has_next () override
 
void next (buffers_type &output) override
 
- Public Member Functions inherited from NDS::detail::iterate_handler
 iterate_handler (std::shared_ptr< NDS::detail::conn_p_type > &&conn_p)
 
void next ()
 
virtual ~iterate_handler ()
 
virtual bool done ()
 
void abort ()
 

Private Types

typedef std::vector
< NDS::channel >::iterator 
ch_vec_iter
 
typedef std::vector
< NDS::channel >
::const_iterator 
ch_vec_const_iter
 

Private Attributes

buffer::gps_second_type cur_gps_
 
buffer::gps_second_type gps_start_
 
buffer::gps_second_type gps_stop_
 
buffer::gps_second_type stride_
 
std::unique_ptr
< detail::gap_handler
gap_handler_
 
std::vector< NDS::channel > channel_list_
 
indexed_buffers current_buffer_
 
indexed_buffers pending_buffer_
 
bool is_more_data_available_
 

Additional Inherited Members

- Public Attributes inherited from NDS::detail::iterate_handler
std::shared_ptr< buffers_type > cache_
 
- Protected Member Functions inherited from NDS::detail::iterate_handler
NDS::detail::conn_p_typeconn ()
 

Detailed Description

A iterate handler appropriate for nds1 connections that may contain gaps. This iterate handler will always return blocks of the requested stride that are contiguous. It will use the provided gap handler to fill in any missing data.

Member Typedef Documentation

typedef std::vector< NDS::channel >::const_iterator NDS::detail::iterate_handler_with_simple_gaps::ch_vec_const_iter
private
typedef std::vector< NDS::channel >::iterator NDS::detail::iterate_handler_with_simple_gaps::ch_vec_iter
private

Constructor & Destructor Documentation

NDS::detail::iterate_handler_with_simple_gaps::iterate_handler_with_simple_gaps ( buffer::gps_second_type  gps_start,
buffer::gps_second_type  gps_stop,
buffer::gps_second_type  stride,
const connection::channel_names_type &  channel_names,
std::shared_ptr< NDS::detail::conn_p_type > &&  parent,
std::unique_ptr< detail::gap_handler ghandler 
)
inline
NDS::detail::iterate_handler_with_simple_gaps::~iterate_handler_with_simple_gaps ( )
overridedefault

Member Function Documentation

bool NDS::detail::iterate_handler_with_simple_gaps::has_next ( )
inlineoverridevirtual
void NDS::detail::iterate_handler_with_simple_gaps::next ( buffers_type &  output)
inlineoverridevirtual

Member Data Documentation

std::vector< NDS::channel > NDS::detail::iterate_handler_with_simple_gaps::channel_list_
private
buffer::gps_second_type NDS::detail::iterate_handler_with_simple_gaps::cur_gps_
private
indexed_buffers NDS::detail::iterate_handler_with_simple_gaps::current_buffer_
private
std::unique_ptr< detail::gap_handler > NDS::detail::iterate_handler_with_simple_gaps::gap_handler_
private
buffer::gps_second_type NDS::detail::iterate_handler_with_simple_gaps::gps_start_
private
buffer::gps_second_type NDS::detail::iterate_handler_with_simple_gaps::gps_stop_
private
bool NDS::detail::iterate_handler_with_simple_gaps::is_more_data_available_
private
indexed_buffers NDS::detail::iterate_handler_with_simple_gaps::pending_buffer_
private
buffer::gps_second_type NDS::detail::iterate_handler_with_simple_gaps::stride_
private

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