|
Squid Web Cache master
|
An unordered collection of unique descriptors with O(1) add/del/has ops. More...
#include <DescriptorSet.h>
Public Types | |
| typedef const int * | const_iterator |
Public Member Functions | |
| DescriptorSet () | |
| ~DescriptorSet () | |
| bool | has (const int fd) const |
| checks whether fd is in the set | |
| bool | add (int fd) |
| adds if unique; returns true if added | |
| bool | del (int fd) |
| deletes if there; returns true if deleted | |
| int | pop () |
| deletes and returns one descriptor, in unspecified order | |
| bool | empty () const |
| number of descriptors in the set | |
| const_iterator | begin () const |
| begin iterator a la STL; may become invalid if the object is modified | |
| const_iterator | end () const |
| end iterator a la STL; may become invalid if the object is modified | |
| void | print (std::ostream &os) const |
| outputs debugging info about the set | |
Private Member Functions | |
| DescriptorSet (const DescriptorSet &s) | |
| DescriptorSet & | operator= (const DescriptorSet &s) |
Private Attributes | |
| int * | descriptors_ |
| descriptor values in random order | |
| int * | index_ |
| descriptor:position index into descriptors_ | |
| int | capacity_ |
| total number of descriptor slots | |
| int | size_ |
| number of descriptors in the set | |
Definition at line 18 of file DescriptorSet.h.
| typedef const int* DescriptorSet::const_iterator |
Definition at line 22 of file DescriptorSet.h.
| DescriptorSet::DescriptorSet | ( | ) |
Definition at line 16 of file DescriptorSet.cc.
References capacity_, descriptors_, index_, and Squid_MaxFD.
| DescriptorSet::~DescriptorSet | ( | ) |
Definition at line 30 of file DescriptorSet.cc.
References descriptors_, and index_.
|
private |
| bool DescriptorSet::add | ( | int | fd | ) |
Definition at line 38 of file DescriptorSet.cc.
References assert, capacity_, descriptors_, has(), index_, and size_.
Referenced by commStartHalfClosedMonitor().
|
inline |
Definition at line 40 of file DescriptorSet.h.
References descriptors_.
Referenced by commHalfClosedCheck(), and end().
| bool DescriptorSet::del | ( | int | fd | ) |
Definition at line 55 of file DescriptorSet.cc.
References assert, capacity_, descriptors_, empty(), has(), index_, and size_.
Referenced by commStopHalfClosedMonitor().
|
inline |
Definition at line 37 of file DescriptorSet.h.
References size_.
Referenced by commPlanHalfClosedCheck(), del(), and pop().
|
inline |
Definition at line 42 of file DescriptorSet.h.
References begin(), and size_.
Referenced by commHalfClosedCheck().
|
inline |
Definition at line 28 of file DescriptorSet.h.
References capacity_, and index_.
Referenced by add(), commHasHalfClosedMonitor(), and del().
|
private |
| int DescriptorSet::pop | ( | ) |
ejects one descriptor in unspecified order
Definition at line 83 of file DescriptorSet.cc.
References assert, capacity_, descriptors_, empty(), index_, and size_.
| void DescriptorSet::print | ( | std::ostream & | os | ) | const |
|
private |
Definition at line 54 of file DescriptorSet.h.
Referenced by DescriptorSet(), add(), del(), has(), and pop().
|
private |
Definition at line 52 of file DescriptorSet.h.
Referenced by DescriptorSet(), ~DescriptorSet(), add(), begin(), del(), and pop().
|
private |
Definition at line 53 of file DescriptorSet.h.
Referenced by DescriptorSet(), ~DescriptorSet(), add(), del(), has(), and pop().
|
private |