Auxiliary class for method select.  
 More...
#include <JFileDescriptorMask.hh>
Auxiliary class for method select. 
This class encapsulates the fd_set data structure. 
Definition at line 25 of file JFileDescriptorMask.hh.
 
◆ JFileDescriptorMask() [1/3]
  
  
      
        
          | JLANG::JFileDescriptorMask::JFileDescriptorMask  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Default constructor. 
Definition at line 37 of file JFileDescriptorMask.hh.
   37                          :
   40    {
   42    }
const fd_set * get() const
Get pointer to mask.
 
int maximum_file_descriptor
 
int number_of_file_descriptors
 
 
 
 
◆ JFileDescriptorMask() [2/3]
  
  
      
        
          | JLANG::JFileDescriptorMask::JFileDescriptorMask  | 
          ( | 
          const JAbstractFile & |           file | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Constructor. 
- Parameters
 - 
  
  
 
Definition at line 50 of file JFileDescriptorMask.hh.
   50                                                   :
   53    {
   55 
   57    }
void set(const int file_descriptor)
Set file descriptor.
 
 
 
 
◆ JFileDescriptorMask() [3/3]
  
  
      
        
          | JLANG::JFileDescriptorMask::JFileDescriptorMask  | 
          ( | 
          const int |           file_descriptor | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ get() [1/2]
  
  
      
        
          | const fd_set * JLANG::JFileDescriptorMask::get  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get pointer to mask. 
- Returns
 - pointer to mask 
 
Definition at line 80 of file JFileDescriptorMask.hh.
   81    {
   82      return static_cast<const fd_set*>(this);
   83    }
 
 
 
◆ get() [2/2]
  
  
      
        
          | fd_set * JLANG::JFileDescriptorMask::get  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Get pointer to mask. 
- Returns
 - pointer to mask 
 
Definition at line 91 of file JFileDescriptorMask.hh.
   92    {
   93      return static_cast<fd_set*>(this);
   94    }
 
 
 
◆ operator&() [1/2]
  
  
      
        
          | const fd_set * JLANG::JFileDescriptorMask::operator&  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ operator&() [2/2]
  
  
      
        
          | fd_set * JLANG::JFileDescriptorMask::operator&  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ reset() [1/3]
  
  
      
        
          | void JLANG::JFileDescriptorMask::reset  | 
          ( | 
          const bool |           option = true | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Reset mask. 
A hard reset causes the reset of the complete mask whereas a soft reset causes the reset of the internal parameters only.
- Parameters
 - 
  
    | option | true hard reset; else soft reset  | 
  
   
Definition at line 126 of file JFileDescriptorMask.hh.
  127    {
  128      if (option) {
  129 
  131 
  132        case 0:
  133          break;
  134          
  135        case 1:
  137          break;
  138          
  139        default:
  141          break;
  142        }
  143      }
  144 
  147    }
 
 
 
◆ set() [1/2]
  
  
      
        
          | void JLANG::JFileDescriptorMask::set  | 
          ( | 
          const int |           file_descriptor | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Set file descriptor. 
- Parameters
 - 
  
    | file_descriptor | file descriptor  | 
  
   
Definition at line 155 of file JFileDescriptorMask.hh.
  156    {
  157      if (!
has(file_descriptor)) {
 
  158 
  159        FD_SET(file_descriptor, 
get());
 
  160 
  163        }
  164 
  166      }
  167    }
bool has(const int file_descriptor) const
Has file descriptor.
 
 
 
 
◆ set() [2/2]
  
  
      
        
          | void JLANG::JFileDescriptorMask::set  | 
          ( | 
          const JAbstractFile & |           file | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ reset() [2/3]
  
  
      
        
          | void JLANG::JFileDescriptorMask::reset  | 
          ( | 
          const int |           file_descriptor | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Reset file descriptor. 
- Parameters
 - 
  
    | file_descriptor | file descriptor  | 
  
   
Definition at line 186 of file JFileDescriptorMask.hh.
  187    {
  188      if (
has(file_descriptor)) {
 
  189 
  190        FD_CLR(file_descriptor, 
get());
 
  191 
  194        }
  195        
  197      }
  198    }
 
 
 
◆ reset() [3/3]
  
  
      
        
          | void JLANG::JFileDescriptorMask::reset  | 
          ( | 
          const JAbstractFile & |           file | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Reset file. 
- Parameters
 - 
  
  
 
Definition at line 206 of file JFileDescriptorMask.hh.
  207    {
  208      reset(file.getFileDescriptor());
 
  209    }
void reset(const bool option=true)
Reset mask.
 
 
 
 
◆ has() [1/2]
  
  
      
        
          | bool JLANG::JFileDescriptorMask::has  | 
          ( | 
          const int |           file_descriptor | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Has file descriptor. 
- Parameters
 - 
  
    | file_descriptor | file descriptor  | 
  
   
- Returns
 - true if file descriptor set; else false 
 
Definition at line 218 of file JFileDescriptorMask.hh.
  219    {
  220      return FD_ISSET(file_descriptor, 
get());
 
  221    }
 
 
 
◆ has() [2/2]
  
  
      
        
          | bool JLANG::JFileDescriptorMask::has  | 
          ( | 
          const JAbstractFile & |           file | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Has file. 
- Parameters
 - 
  
  
 
- Returns
 - true if file set; else false 
 
Definition at line 230 of file JFileDescriptorMask.hh.
  231    {
  232      return has(file.getFileDescriptor());
 
  233    }
 
 
 
◆ getNumberOfFileDescriptors()
  
  
      
        
          | int JLANG::JFileDescriptorMask::getNumberOfFileDescriptors  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ empty()
  
  
      
        
          | bool JLANG::JFileDescriptorMask::empty  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Check setting of file descriptors. 
- Returns
 - true if no file descriptors are set; else false 
 
Definition at line 252 of file JFileDescriptorMask.hh.
 
 
◆ in_avail()
Check availability of input. 
This method returns true if at least one byte can be read without blocking. Following the select call, this method overwrites the internal mask!
- Parameters
 - 
  
  
 
- Returns
 - true if ready to read; else false 
 
Definition at line 266 of file JFileDescriptorMask.hh.
  267    {
  269 
  270      if      (nfds >  0)
  271        return true;
  272      else if (nfds == 0)
  273        return false;
  274      else
  275        THROW(JSocketException, 
"select error " << errno);
 
  276    }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
 
int getNumberOfFileDescriptors() const
Get number of file descriptors.
 
 
 
 
◆ out_avail()
Check availability of output. 
This method returns true if at least one byte can be written without blocking. Following the select call, this method overwrites the internal mask!
- Parameters
 - 
  
  
 
- Returns
 - true if ready to write; else false 
 
Definition at line 287 of file JFileDescriptorMask.hh.
  288    {
  290 
  291      if      (nfds >  0)
  292        return true;
  293      else if (nfds == 0)
  294        return false;
  295      else
  296        THROW(JSocketException, 
"select error " << errno);
 
  297    }
 
 
 
◆ MAXIMUM_FILE_DESCRIPTOR
  
  
      
        
          | const int JLANG::JFileDescriptorMask::MAXIMUM_FILE_DESCRIPTOR = FD_SETSIZE | 
         
       
   | 
  
static   | 
  
 
 
◆ maximum_file_descriptor
  
  
      
        
          | int JLANG::JFileDescriptorMask::maximum_file_descriptor | 
         
       
   | 
  
private   | 
  
 
 
◆ number_of_file_descriptors
  
  
      
        
          | int JLANG::JFileDescriptorMask::number_of_file_descriptors | 
         
       
   | 
  
private   | 
  
 
 
The documentation for this class was generated from the following file: