#include <Handle_Set.h>
Public Types | |
enum | { MAXSIZE = ACE_DEFAULT_SELECT_REACTOR_SIZE } |
Public Methods | |
ACE_Handle_Set (void) | |
Constructor, initializes the bitmask to all 0s. | |
ACE_Handle_Set (const ACE_FD_SET_TYPE &mask) | |
void | reset (void) |
Initialize the bitmask to all 0s and reset the associated fields. | |
int | is_set (ACE_HANDLE handle) const |
void | set_bit (ACE_HANDLE handle) |
void | clr_bit (ACE_HANDLE handle) |
int | num_set (void) const |
Returns a count of the number of enabled bits. | |
ACE_HANDLE | max_set (void) const |
Returns the number of the large bit. | |
void | sync (ACE_HANDLE max) |
operator fd_set * () | |
fd_set * | fdset (void) |
void | dump (void) const |
Dump the state of an object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Private Types | |
enum | { WORDSIZE = NFDBITS, NBITS = 256 } |
Private Methods | |
void | set_max (ACE_HANDLE max) |
Static Private Methods | |
int | count_bits (u_long n) |
Private Attributes | |
int | size_ |
Size of the set, i.e., a count of the number of enabled bits. | |
ACE_HANDLE | max_handle_ |
Current max handle. | |
fd_set | mask_ |
Bitmask. | |
Static Private Attributes | |
const char | nbits_ [NBITS] |
Friends | |
class | ACE_Handle_Set_Iterator |
This abstraction is a very efficient wrapper facade over <fd_set>. In particular, no range checking is performed, so it's important not to set or clear bits that are outside the <ACE_DEFAULT_SELECT_REACTOR_SIZE>.
|
|
|
|
|
Constructor, initializes the bitmask to all 0s.
|
|
Constructor, initializes the handle set from a given mask. <ACE_FD_SET_TYPE> is a <typedef> based on the platform's native type used for masks passed to <select>. |
|
Disables the <handle>. No range checking is performed so <handle> must be less than <ACE_DEFAULT_SELECT_REACTOR_SIZE>. |
|
Counts the number of bits enabled in N. Uses a table lookup to speed up the count. |
|
Dump the state of an object.
|
|
Returns a pointer to the underlying <fd_set>. Returns 0 if there are no handle bits set (<size_> == 0). |
|
Checks whether <handle> is enabled. No range checking is performed so <handle> must be less than <ACE_DEFAULT_SELECT_REACTOR_SIZE>. |
|
Returns the number of the large bit.
|
|
Returns a count of the number of enabled bits.
|
|
Returns a pointer to the underlying <fd_set>. Returns 0 if there are no handle bits set (<size_> == 0). |
|
Initialize the bitmask to all 0s and reset the associated fields.
|
|
Enables the <handle>. No range checking is performed so <handle> must be less than <ACE_DEFAULT_SELECT_REACTOR_SIZE>. |
|
Resets the <max_handle_> after a clear of the original <max_handle_>. |
|
Rescan the underlying <fd_set> up to handle <max> to find the new <max_handle> (highest bit set) and <size> (how many bits set) values. This is useful for evaluating the changes after the handle set has been manipulated in some way other than member functions; for example, after <select> modifies the <fd_set>. |
|
|
|
Declare the dynamic allocation hooks.
|
|
Bitmask.
|
|
Current max handle.
|
|
Initial value: { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8} |
|
Size of the set, i.e., a count of the number of enabled bits.
|