Jpp 19.3.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
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.
 
JFileDescriptorMaskgetWriterMask ()
 Get writer mask.
 
void setWriterMask (const JAbstractFile &file)
 Set writer mask.
 
bool hasWriterMask (const JAbstractFile &file) const
 Has writer file.
 
void reset ()
 Reset.
 
int operator() (JTimeval timeout)
 Select call.
 
int operator() (timeval *timeout=NULL)
 Select call.
 

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.
int getNumberOfFileDescriptors() const
Get number of file descriptors.
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: