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

#include <nds_channel_selection.hh>

Public Types

enum  selection_method { selection_method::UNIQUE_CHANNEL, selection_method::FIRST_CHANNEL, selection_method::UNIQUE_THEN_FIRST }
 

Public Member Functions

DLL_EXPORT channel_selector (std::shared_ptr< conn_p_type > conn)
 
DLL_EXPORT channel_selector (const channel_selector &other)=default
 
DLL_EXPORT channel_selector (channel_selector &&other)=default
 
channel_selectoroperator= (const channel_selector &other)=default
 
channel_selectoroperator= (channel_selector &&other)=default
 
DLL_EXPORT channel operator() (const std::string &name, selection_method policy=selection_method::UNIQUE_CHANNEL)
 

Private Member Functions

std::vector< const NDS::channel * > filter_and_sort_channel_list (NDS::channels_type &input, NDS::channel::channel_type channel_type_mask)
 
channel downselect (NDS::channels_type &input, const std::string &name, NDS::channel::channel_type channel_type_mask, selection_method policy)
 

Private Attributes

std::shared_ptr< conn_p_typeconn_
 

Member Enumeration Documentation

Enumerator
UNIQUE_CHANNEL 
FIRST_CHANNEL 

epoch allowed

require a unique channel, no expansion in

UNIQUE_THEN_FIRST 

epoch allowed

take the first channel found, no expansion inIf there are no channels, allow a global epoch and take the first

Constructor & Destructor Documentation

DLL_EXPORT NDS::detail::channel_selector::channel_selector ( std::shared_ptr< conn_p_type conn)
inlineexplicit
DLL_EXPORT NDS::detail::channel_selector::channel_selector ( const channel_selector other)
default
DLL_EXPORT NDS::detail::channel_selector::channel_selector ( channel_selector &&  other)
default

Member Function Documentation

channel NDS::detail::channel_selector::downselect ( NDS::channels_type &  input,
const std::string &  name,
NDS::channel::channel_type  channel_type_mask,
selection_method  policy 
)
private
std::vector< const NDS::channel * > NDS::detail::channel_selector::filter_and_sort_channel_list ( NDS::channels_type &  input,
NDS::channel::channel_type  channel_type_mask 
)
private
channel NDS::detail::channel_selector::operator() ( const std::string &  name,
selection_method  policy = selection_method::UNIQUE_CHANNEL 
)
channel_selector& NDS::detail::channel_selector::operator= ( const channel_selector other)
default
channel_selector& NDS::detail::channel_selector::operator= ( channel_selector &&  other)
default

Member Data Documentation

std::shared_ptr< conn_p_type > NDS::detail::channel_selector::conn_
private

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