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

#include <nds_iterate_handlers.hh>

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

Public Member Functions

 iterate_fast_handler (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)
 
 ~iterate_fast_handler () 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 Member Functions

template<typename T >
safe_add (T val1, T val2)
 
void get_next_block (buffers_type &output)
 

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_
 
bool online_
 
buffers_type next_entry_
 

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 'fast' iterate handler. It provides no gap handling, simply reading the blocks off the wire.

Note
This should not be used for nds2 offline data requests that have gaps

Constructor & Destructor Documentation

NDS::detail::iterate_fast_handler::iterate_fast_handler ( 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 
)
inline
NDS::detail::iterate_fast_handler::~iterate_fast_handler ( )
overridedefault

Member Function Documentation

void NDS::detail::iterate_fast_handler::get_next_block ( buffers_type &  output)
inlineprivate
bool NDS::detail::iterate_fast_handler::has_next ( )
inlineoverridevirtual
void NDS::detail::iterate_fast_handler::next ( buffers_type &  output)
inlineoverridevirtual
template<typename T >
T NDS::detail::iterate_fast_handler::safe_add ( val1,
val2 
)
inlineprivate

Member Data Documentation

buffer::gps_second_type NDS::detail::iterate_fast_handler::cur_gps_
private
buffer::gps_second_type NDS::detail::iterate_fast_handler::gps_start_
private
buffer::gps_second_type NDS::detail::iterate_fast_handler::gps_stop_
private
buffers_type NDS::detail::iterate_fast_handler::next_entry_
private
bool NDS::detail::iterate_fast_handler::online_
private
buffer::gps_second_type NDS::detail::iterate_fast_handler::stride_
private

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