XRootD
XrdPollInfo.hh
Go to the documentation of this file.
1
#ifndef __XRD_POLLINFO_H__
2
#define __XRD_POLLINFO_H__
3
/******************************************************************************/
4
/* */
5
/* X r d P o l l I n f o . h h */
6
/* */
7
/* (c) 2018 by the Board of Trustees of the Leland Stanford, Jr., University */
8
/* Produced by Andrew Hanushevsky for Stanford University under contract */
9
/* DE-AC02-76-SFO0515 with the Department of Energy */
10
/* */
11
/* This file is part of the XRootD software suite. */
12
/* */
13
/* XRootD is free software: you can redistribute it and/or modify it under */
14
/* the terms of the GNU Lesser General Public License as published by the */
15
/* Free Software Foundation, either version 3 of the License, or (at your */
16
/* option) any later version. */
17
/* */
18
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
19
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
20
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
21
/* License for more details. */
22
/* */
23
/* You should have received a copy of the GNU Lesser General Public License */
24
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
25
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
26
/* */
27
/* The copyright holder's institutional names and contributor's names may not */
28
/* be used to endorse or promote products derived from this software without */
29
/* specific prior written permission of the institution or contributor. */
30
/******************************************************************************/
31
32
class
XrdLink
;
33
class
XrdPoll
;
34
struct
pollfd;
35
36
class
XrdPollInfo
37
{
38
public
:
39
40
XrdPollInfo
*
Next
;
// Chain of links waiting for a PollPoll event
41
XrdLink
&
Link
;
// Link associated with this object (always the same)
42
struct
pollfd *
PollEnt
;
// Used only by PollPoll
43
XrdPoll
*
Poller
;
// -> Poller object associated with this object
44
int
FD
;
// Associated target file descriptor number
45
bool
inQ
;
// True -> in a PollPoll event queue
46
bool
isEnabled
;
// True -> interrupts are enabled
47
char
rsv
[2];
// Reserved for future flags
48
49
void
Zorch
() {
Next
= 0;
PollEnt
= 0;
50
Poller
= 0;
FD
= -1;
51
isEnabled
=
false
;
inQ
=
false
;
52
rsv
[0] = 0;
rsv
[1] = 0;
53
}
54
55
XrdPollInfo
(
XrdLink
&lnk) :
Link
(lnk) {
Zorch
();}
56
~XrdPollInfo
() {}
57
};
58
#endif
XrdLink
Definition:
XrdLink.hh:52
XrdPollInfo
Definition:
XrdPollInfo.hh:37
XrdPollInfo::PollEnt
struct pollfd * PollEnt
Definition:
XrdPollInfo.hh:42
XrdPollInfo::FD
int FD
Definition:
XrdPollInfo.hh:44
XrdPollInfo::Zorch
void Zorch()
Definition:
XrdPollInfo.hh:49
XrdPollInfo::~XrdPollInfo
~XrdPollInfo()
Definition:
XrdPollInfo.hh:56
XrdPollInfo::Next
XrdPollInfo * Next
Definition:
XrdPollInfo.hh:40
XrdPollInfo::rsv
char rsv[2]
Definition:
XrdPollInfo.hh:47
XrdPollInfo::inQ
bool inQ
Definition:
XrdPollInfo.hh:45
XrdPollInfo::Link
XrdLink & Link
Definition:
XrdPollInfo.hh:41
XrdPollInfo::XrdPollInfo
XrdPollInfo(XrdLink &lnk)
Definition:
XrdPollInfo.hh:55
XrdPollInfo::isEnabled
bool isEnabled
Definition:
XrdPollInfo.hh:46
XrdPollInfo::Poller
XrdPoll * Poller
Definition:
XrdPollInfo.hh:43
XrdPoll
Definition:
XrdPoll.hh:41
Xrd
XrdPollInfo.hh
Generated by
1.9.1