NAME

ACE_SOCK_Acceptor - Defines a factory that creates new ACE_Streams passively.

SYNOPSIS

#include <ace/SOCK_Acceptor.h>

class ACE_SOCK_Acceptor : public ACE_SOCK { public: ACE_SOCK_Acceptor (void); ACE_SOCK_Acceptor ( const ACE_Addr &local_sap, int reuse_addr = 0, int protocol_family = PF_INET, int backlog = ACE_DEFAULT_BACKLOG, int protocol = 0 ); ACE_SOCK_Acceptor ( const ACE_Addr &local_sap, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr, int protocol_family, int backlog = ACE_DEFAULT_BACKLOG, int protocol = 0 ); int open ( const ACE_Addr &local_sap, int reuse_addr = 0, int protocol_family = PF_INET, int backlog = ACE_DEFAULT_BACKLOG, int protocol = 0 ); int open ( const ACE_Addr &local_sap, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr, int protocol_family, int backlog = ACE_DEFAULT_BACKLOG, int protocol = 0 ); ~ACE_SOCK_Acceptor (void); int accept ( ACE_SOCK_Stream &new_stream, ACE_Addr *remote_addr = 0, ACE_Time_Value *timeout = 0, int restart = 1, int reset_new_handle = 0 ) const; int accept ( ACE_SOCK_Stream &new_stream, ACE_Accept_QoS_Params qos_params, ACE_Addr *remote_addr = 0, ACE_Time_Value *timeout = 0, int restart = 1, int reset_new_handle = 0 ) const; typedef ACE_INET_Addr PEER_ADDR; typedef ACE_SOCK_Stream PEER_STREAM; void dump (void) const; ACE_ALLOC_HOOK_DECLARE; protected: int shared_accept_start ( ACE_Time_Value *timeout, int restart, int &in_blocking_mode ) const; int shared_accept_finish ( ACE_SOCK_Stream new_stream, int in_blocking_mode, int reset_new_handle ) const; int shared_open ( const ACE_Addr &local_sap, int protocol_family, int backlog ); private: int get_remote_addr (ACE_Addr &) const; };

DESCRIPTION

The ACE_SOCK_Acceptor has its own "passive-mode" socket. This serves as a factory to create so-called "data-mode" sockets, which are what the ACE_SOCK_Stream encapsulates. Therefore, by inheriting from ACE_SOCK, ACE_SOCK_Acceptor gets its very own socket.

Initialization and termination methods.

ACE_SOCK_Acceptor (void);

ACE_SOCK_Acceptor (
    const ACE_Addr &local_sap,
    int reuse_addr = 0,
    int protocol_family = PF_INET,
    int backlog = ACE_DEFAULT_BACKLOG,
    int protocol = 0
    );

ACE_SOCK_Acceptor (
    const ACE_Addr &local_sap,
    ACE_Protocol_Info *protocolinfo,
    ACE_SOCK_GROUP g,
    u_long flags,
    int reuse_addr,
    int protocol_family,
    int backlog = ACE_DEFAULT_BACKLOG,
    int protocol = 0
    );

int open (
    const ACE_Addr &local_sap,
    int reuse_addr = 0,
    int protocol_family = PF_INET,
    int backlog = ACE_DEFAULT_BACKLOG,
    int protocol = 0
    );

int open (
    const ACE_Addr &local_sap,
    ACE_Protocol_Info *protocolinfo,
    ACE_SOCK_GROUP g,
    u_long flags,
    int reuse_addr,
    int protocol_family,
    int backlog = ACE_DEFAULT_BACKLOG,
    int protocol = 0
    );

~ACE_SOCK_Acceptor (void);

= Passive connection accept methods.

int accept (
    ACE_SOCK_Stream &new_stream,
    ACE_Addr *remote_addr = 0,
    ACE_Time_Value *timeout = 0,
    int restart = 1,
    int reset_new_handle = 0
    ) const;

int accept (
    ACE_SOCK_Stream &new_stream,
    ACE_Accept_QoS_Params qos_params,
    ACE_Addr *remote_addr = 0,
    ACE_Time_Value *timeout = 0,
    int restart = 1,
    int reset_new_handle = 0
    ) const;

Meta-type info

typedef ACE_INET_Addr PEER_ADDR;

typedef ACE_SOCK_Stream PEER_STREAM;

void dump (void) const;

ACE_ALLOC_HOOK_DECLARE;

AUTHOR

Doug Schmidt

LIBRARY

ace