nds2-client - Developer 0.16.7
Loading...
Searching...
No Matches
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>

Collaboration diagram for NDS::detail::channel_selector:
Collaboration graph
[legend]

Public Types

enum class  selection_method { UNIQUE_CHANNEL , FIRST_CHANNEL , 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

◆ selection_method

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 in If there are no channels, allow a global epoch and take the first

Constructor & Destructor Documentation

◆ channel_selector() [1/3]

DLL_EXPORT NDS::detail::channel_selector::channel_selector ( std::shared_ptr< conn_p_type conn)
inlineexplicit

◆ channel_selector() [2/3]

DLL_EXPORT NDS::detail::channel_selector::channel_selector ( const channel_selector other)
default

◆ channel_selector() [3/3]

DLL_EXPORT NDS::detail::channel_selector::channel_selector ( channel_selector &&  other)
default

Member Function Documentation

◆ downselect()

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

◆ filter_and_sort_channel_list()

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

◆ operator()()

channel NDS::detail::channel_selector::operator() ( const std::string &  name,
selection_method  policy = selection_method::UNIQUE_CHANNEL 
)

◆ operator=() [1/2]

channel_selector & NDS::detail::channel_selector::operator= ( channel_selector &&  other)
default

◆ operator=() [2/2]

channel_selector & NDS::detail::channel_selector::operator= ( const channel_selector other)
default

Member Data Documentation

◆ conn_

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

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