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

#include <nds_iterate_handlers.hh>

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

Public Member Functions

 iterate_full_handler (buffer::gps_second_type gps_start, buffer::gps_second_type gps_stop, buffer::gps_second_type stride, const channel::channel_names_type &channel_names, epoch prev_epoch, const channels_type &channel_list, std::shared_ptr< NDS::detail::conn_p_type > &&parent)
 
 ~iterate_full_handler () override=default
 
void advance ()
 
bool done () override
 
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 ()
 
void abort ()
 

Private Attributes

buffer::gps_second_type gps_start_
 
buffer::gps_second_type gps_stop_
 
buffer::gps_second_type gps_stride_
 
buffer::gps_second_type cur_gps_
 
channel::channel_names_type names_
 
channels_type channels_
 
epoch prev_epoch_
 

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

Note
This handler translates iterate requests into fetches and applies gap handling. This should be able to handle all cases and return data, even when requesting data with gaps that do not line up. It will return full sized blocks that are contiguous. This is a heavy weight function.

Constructor & Destructor Documentation

NDS::detail::iterate_full_handler::iterate_full_handler ( buffer::gps_second_type  gps_start,
buffer::gps_second_type  gps_stop,
buffer::gps_second_type  stride,
const channel::channel_names_type &  channel_names,
epoch  prev_epoch,
const channels_type &  channel_list,
std::shared_ptr< NDS::detail::conn_p_type > &&  parent 
)
inline
NDS::detail::iterate_full_handler::~iterate_full_handler ( )
overridedefault

Member Function Documentation

void NDS::detail::iterate_full_handler::advance ( )
inline
bool NDS::detail::iterate_full_handler::done ( )
inlineoverridevirtual

Reimplemented from NDS::detail::iterate_handler.

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

Member Data Documentation

channels_type NDS::detail::iterate_full_handler::channels_
private
buffer::gps_second_type NDS::detail::iterate_full_handler::cur_gps_
private
buffer::gps_second_type NDS::detail::iterate_full_handler::gps_start_
private
buffer::gps_second_type NDS::detail::iterate_full_handler::gps_stop_
private
buffer::gps_second_type NDS::detail::iterate_full_handler::gps_stride_
private
channel::channel_names_type NDS::detail::iterate_full_handler::names_
private
epoch NDS::detail::iterate_full_handler::prev_epoch_
private

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