Jpp  master_rocky-43-ge265d140c
the software that should make you happy
Public Member Functions | Protected Attributes | List of all members
JNET::JSelectReader Class Reference

Wrapper class for select call. More...

#include <JSelectReader.hh>

Inheritance diagram for JNET::JSelectReader:
JNET::JSelect

Public Member Functions

 JSelectReader ()
 Default constructor. More...
 
JFileDescriptorMaskgetReaderMask ()
 Get reader mask. More...
 
void setReaderMask (const JAbstractFile &file)
 Set reader mask. More...
 
bool hasReaderMask (const JAbstractFile &file) const
 Has reader file. More...
 
void reset ()
 Reset. More...
 
bool operator() (JTimeval timeout)
 Select call. More...
 
int operator() (timeval *timeout=NULL)
 Select call. More...
 

Protected Attributes

JFileDescriptorMask readerMask
 

Detailed Description

Wrapper class for select call.

Definition at line 32 of file JSelectReader.hh.

Constructor & Destructor Documentation

◆ JSelectReader()

JNET::JSelectReader::JSelectReader ( )
inline

Default constructor.

Definition at line 37 of file JSelectReader.hh.

38  {}

Member Function Documentation

◆ getReaderMask()

JFileDescriptorMask& JNET::JSelectReader::getReaderMask ( )
inline

Get reader mask.

Returns
mask

Definition at line 46 of file JSelectReader.hh.

47  {
48  return readerMask;
49  }
JFileDescriptorMask readerMask

◆ setReaderMask()

void JNET::JSelectReader::setReaderMask ( const JAbstractFile file)
inline

Set reader mask.

Parameters
filefile

Definition at line 57 of file JSelectReader.hh.

58  {
59  readerMask.set(file);
60  }
void set(const int file_descriptor)
Set file descriptor.

◆ hasReaderMask()

bool JNET::JSelectReader::hasReaderMask ( const JAbstractFile file) const
inline

Has reader file.

Parameters
filefile
Returns
true if file set; else false

Definition at line 69 of file JSelectReader.hh.

70  {
71  return readerMask.has(file);
72  }
bool has(const int file_descriptor) const
Has file descriptor.

◆ reset()

void JNET::JSelectReader::reset ( )
inline

Reset.

Definition at line 78 of file JSelectReader.hh.

79  {
80  readerMask.reset(true); // hard reset
81  }
void reset(const bool option=true)
Reset mask.

◆ operator()() [1/2]

bool JNET::JSelectReader::operator() ( JTimeval  timeout)
inline

Select call.

Parameters
timeouttimeout
Returns
number of valid file descriptors

Definition at line 90 of file JSelectReader.hh.

91  {
92  return this->operator()(&timeout);
93  }
bool operator()(JTimeval timeout)
Select call.

◆ operator()() [2/2]

int JNET::JSelectReader::operator() ( timeval *  timeout = NULL)
inline

Select call.

Parameters
timeouttimeout
Returns
number of valid file descriptors

Definition at line 102 of file JSelectReader.hh.

103  {
105 
106  nfds += 1;
107  nfds = ::select(nfds, &readerMask, NULL, NULL, timeout);
108 
109  if (nfds != 0) {
110 
111  if (nfds < 0) {
112  if (errno != EINTR) {
113  THROW(JSelectException, "JSelectReader(..) failed.");
114  }
115  }
116 
117  } else {
118 
119  readerMask.reset(false); // soft reset
120  }
121 
122  return nfds;
123  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
int getNumberOfFileDescriptors() const
Get number of file descriptors.
Exception for select call.
Definition: JException.hh:450
bool select(const Trk &trk, const Evt &evt)
Event selection.

Member Data Documentation

◆ readerMask

JFileDescriptorMask JNET::JSelectReader::readerMask
protected

Definition at line 127 of file JSelectReader.hh.


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