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

Wrapper class for select call. More...

#include <JSelectWriter.hh>

Inheritance diagram for JNET::JSelectWriter:
JNET::JSelect

Public Member Functions

 JSelectWriter ()
 Default constructor. More...
 
JFileDescriptorMaskgetWriterMask ()
 Get writer mask. More...
 
void setWriterMask (const JAbstractFile &file)
 Set writer mask. More...
 
bool hasWriterMask (const JAbstractFile &file) const
 Has writer file. More...
 
void reset ()
 Reset. More...
 
int operator() (JTimeval timeout)
 Select call. More...
 
int operator() (timeval *timeout=NULL)
 Select call. More...
 

Protected Attributes

JFileDescriptorMask writerMask
 

Detailed Description

Wrapper class for select call.

Definition at line 32 of file JSelectWriter.hh.

Constructor & Destructor Documentation

◆ JSelectWriter()

JNET::JSelectWriter::JSelectWriter ( )
inline

Default constructor.

Definition at line 37 of file JSelectWriter.hh.

38  {}

Member Function Documentation

◆ getWriterMask()

JFileDescriptorMask& JNET::JSelectWriter::getWriterMask ( )
inline

Get writer mask.

Returns
mask

Definition at line 46 of file JSelectWriter.hh.

47  {
48  return writerMask;
49  }
JFileDescriptorMask writerMask

◆ setWriterMask()

void JNET::JSelectWriter::setWriterMask ( const JAbstractFile file)
inline

Set writer mask.

Parameters
filefile

Definition at line 57 of file JSelectWriter.hh.

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

◆ hasWriterMask()

bool JNET::JSelectWriter::hasWriterMask ( const JAbstractFile file) const
inline

Has writer file.

Parameters
filefile
Returns
true if file set; else false

Definition at line 69 of file JSelectWriter.hh.

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

◆ reset()

void JNET::JSelectWriter::reset ( )
inline

Reset.

Definition at line 78 of file JSelectWriter.hh.

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

◆ operator()() [1/2]

int JNET::JSelectWriter::operator() ( JTimeval  timeout)
inline

Select call.

Parameters
timeouttimeout
Returns
number of valid file descriptors

Definition at line 90 of file JSelectWriter.hh.

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

◆ operator()() [2/2]

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

Select call.

Parameters
timeouttimeout
Returns
number of valid file descriptors

Definition at line 102 of file JSelectWriter.hh.

103  {
105 
106  nfds += 1;
107  nfds = ::select(nfds, NULL, &writerMask, NULL, timeout);
108 
109  if (nfds != 0) {
110 
111  if (nfds < 0) {
112  if (errno != EINTR) {
113  THROW(JSelectException, "JSelectWriter(..) failed.");
114  }
115  }
116 
117  } else {
118 
119  writerMask.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

◆ writerMask

JFileDescriptorMask JNET::JSelectWriter::writerMask
protected

Definition at line 127 of file JSelectWriter.hh.


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