ACE 8.0.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
ACE_Handle_Set Class Reference

C++ wrapper facade for the socket fd_set abstraction. More...

#include <Handle_Set.h>

Public Types

enum  { MAXSIZE = ACE_DEFAULT_SELECT_REACTOR_SIZE }
 

Public Member Functions

 ACE_Handle_Set ()
 Constructor, initializes the bitmask to all 0s.
 
 ~ACE_Handle_Set ()=default
 
 ACE_Handle_Set (const fd_set &mask)
 
void reset ()
 Initialize the bitmask to all 0s and reset the associated fields.
 
int is_set (ACE_HANDLE handle) const
 Checks whether handle is enabled.
 
void set_bit (ACE_HANDLE handle)
 Enables the handle.
 
void clr_bit (ACE_HANDLE handle)
 Disables the handle.
 
int num_set () const
 Returns a count of the number of enabled bits.
 
ACE_HANDLE max_set () const
 Returns the number of the large bit.
 
void sync (ACE_HANDLE max)
 
 operator fd_set * ()
 Returns a pointer to the underlying fd_set.
 
fd_setfdset ()
 Returns a pointer to the underlying fd_set.
 
ACE_Handle_Setoperator= (const ACE_Handle_Set &)=default
 
 ACE_Handle_Set (const ACE_Handle_Set &)=default
 
ACE_Handle_Setoperator= (ACE_Handle_Set &&)=default
 
 ACE_Handle_Set (ACE_Handle_Set &&)=default
 
void dump () 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 Member Functions

void set_max (ACE_HANDLE max)
 

Static Private Member Functions

static 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

static const char nbits_ [NBITS]
 

Friends

class ACE_Handle_Set_Iterator
 

Detailed Description

C++ wrapper facade for the socket fd_set abstraction.

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.

Member Enumeration Documentation

◆ anonymous enum

Enumerator
MAXSIZE 

◆ anonymous enum

anonymous enum
private
Enumerator
WORDSIZE 
NBITS 

Constructor & Destructor Documentation

◆ ACE_Handle_Set() [1/4]

ACE_Handle_Set::ACE_Handle_Set ( )

Constructor, initializes the bitmask to all 0s.

◆ ~ACE_Handle_Set()

ACE_Handle_Set::~ACE_Handle_Set ( )
default

◆ ACE_Handle_Set() [2/4]

ACE_Handle_Set::ACE_Handle_Set ( const fd_set & mask)

Constructor, initializes the handle set from a given mask.

◆ ACE_Handle_Set() [3/4]

ACE_Handle_Set::ACE_Handle_Set ( const ACE_Handle_Set & )
default

◆ ACE_Handle_Set() [4/4]

ACE_Handle_Set::ACE_Handle_Set ( ACE_Handle_Set && )
default

Member Function Documentation

◆ clr_bit()

void ACE_Handle_Set::clr_bit ( ACE_HANDLE handle)
inline

Disables the handle.

Disables the handle. No range checking is performed so handle must be less than ACE_DEFAULT_SELECT_REACTOR_SIZE.

◆ count_bits()

int ACE_Handle_Set::count_bits ( u_long n)
staticprivate

Counts the number of bits enabled in N. Uses a table lookup to speed up the count.

◆ dump()

void ACE_Handle_Set::dump ( ) const

Dump the state of an object.

◆ fdset()

fd_set * ACE_Handle_Set::fdset ( )
inline

Returns a pointer to the underlying fd_set.

Returns a pointer to the underlying fd_set. Returns 0 if there are no handle bits set (<size_> == 0).

◆ is_set()

int ACE_Handle_Set::is_set ( ACE_HANDLE handle) const
inline

Checks whether handle is enabled.

Checks whether handle is enabled. No range checking is performed so handle must be less than ACE_DEFAULT_SELECT_REACTOR_SIZE.

◆ max_set()

ACE_HANDLE ACE_Handle_Set::max_set ( ) const
inline

Returns the number of the large bit.

◆ num_set()

int ACE_Handle_Set::num_set ( ) const
inline

Returns a count of the number of enabled bits.

◆ operator fd_set *()

ACE_Handle_Set::operator fd_set * ( )
inline

Returns a pointer to the underlying fd_set.

Returns a pointer to the underlying fd_set. Returns 0 if there are no handle bits set (<size_> == 0).

◆ operator=() [1/2]

ACE_Handle_Set & ACE_Handle_Set::operator= ( ACE_Handle_Set && )
default

◆ operator=() [2/2]

ACE_Handle_Set & ACE_Handle_Set::operator= ( const ACE_Handle_Set & )
default

◆ reset()

void ACE_Handle_Set::reset ( )
inline

Initialize the bitmask to all 0s and reset the associated fields.

◆ set_bit()

void ACE_Handle_Set::set_bit ( ACE_HANDLE handle)
inline

Enables the handle.

Enables the handle. No range checking is performed so handle must be less than ACE_DEFAULT_SELECT_REACTOR_SIZE.

◆ set_max()

void ACE_Handle_Set::set_max ( ACE_HANDLE max)
private

Resets the <max_handle_> after a clear of the original <max_handle_>.

◆ sync()

void ACE_Handle_Set::sync ( ACE_HANDLE max)

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.

Friends And Related Symbol Documentation

◆ ACE_Handle_Set_Iterator

Member Data Documentation

◆ ACE_ALLOC_HOOK_DECLARE

ACE_Handle_Set::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

◆ mask_

fd_set ACE_Handle_Set::mask_
private

Bitmask.

◆ max_handle_

ACE_HANDLE ACE_Handle_Set::max_handle_
private

Current max handle.

◆ nbits_

const char ACE_Handle_Set::nbits_
staticprivate
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}

Table that maps bytes to counts of the enabled bits in each value from 0 to 255.

◆ size_

int ACE_Handle_Set::size_
private

Size of the set, i.e., a count of the number of enabled bits.


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