Defines the format and interface for the acceptor side of the local ACE_SOCK ACE_Stream. More...
#include <LSOCK_Acceptor.h>


Public Types | |
| typedef ACE_UNIX_Addr | PEER_ADDR |
| typedef ACE_LSOCK_Stream | PEER_STREAM |
Public Member Functions | |
| ACE_LSOCK_Acceptor (void) | |
| Default constructor. | |
| ACE_LSOCK_Acceptor (const ACE_Addr &local_sap, int reuse_addr=0, int protocol_family=PF_UNIX, int backlog=ACE_DEFAULT_BACKLOG, int protocol=0) | |
| Initiate a passive mode socket. | |
| int | open (const ACE_Addr &local_sap, int reuse_addr=0, int protocol_family=PF_UNIX, int backlog=ACE_DEFAULT_BACKLOG, int protocol=0) |
| Initiate a passive mode socket. | |
| int | accept (ACE_LSOCK_Stream &new_ipc_sap, ACE_Addr *=0, ACE_Time_Value *timeout=0, bool restart=true, bool reset_new_handle=false) const |
| Accept a new data transfer connection. | |
| int | remove (void) |
| int | get_local_addr (ACE_Addr &) const |
| Return the local endpoint address. | |
| void | dump (void) const |
| Dump the state of an object. | |
Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. | |
Private Attributes | |
| ACE_UNIX_Addr | local_addr_ |
| Address of our rendezvous point. | |
Defines the format and interface for the acceptor side of the local ACE_SOCK ACE_Stream.
Definition at line 41 of file LSOCK_Acceptor.h.
Reimplemented from ACE_SOCK_Acceptor.
Definition at line 77 of file LSOCK_Acceptor.h.
Reimplemented from ACE_SOCK_Acceptor.
Definition at line 78 of file LSOCK_Acceptor.h.
| ACE_LSOCK_Acceptor::ACE_LSOCK_Acceptor | ( | void | ) |
Default constructor.
Definition at line 45 of file LSOCK_Acceptor.cpp.
{
ACE_TRACE ("ACE_LSOCK_Acceptor::ACE_LSOCK_Acceptor");
}
| ACE_LSOCK_Acceptor::ACE_LSOCK_Acceptor | ( | const ACE_Addr & | local_sap, | |
| int | reuse_addr = 0, |
|||
| int | protocol_family = PF_UNIX, |
|||
| int | backlog = ACE_DEFAULT_BACKLOG, |
|||
| int | protocol = 0 | |||
| ) |
| int ACE_LSOCK_Acceptor::accept | ( | ACE_LSOCK_Stream & | new_ipc_sap, | |
| ACE_Addr * | remote_addr = 0, |
|||
| ACE_Time_Value * | timeout = 0, |
|||
| bool | restart = true, |
|||
| bool | reset_new_handle = false | |||
| ) | const |
Accept a new data transfer connection.
Definition at line 84 of file LSOCK_Acceptor.cpp.
{
ACE_TRACE ("ACE_LSOCK_Acceptor::accept");
int in_blocking_mode = 0;
if (this->shared_accept_start (timeout,
restart,
in_blocking_mode) == -1)
return -1;
else
{
sockaddr *addr = 0;
int len = 0;
if (remote_addr != 0)
{
len = remote_addr->get_size ();
addr = (sockaddr *) remote_addr->get_addr ();
}
do
new_stream.set_handle (ACE_OS::accept (this->get_handle (),
addr,
&len));
while (new_stream.get_handle () == ACE_INVALID_HANDLE
&& restart != 0
&& errno == EINTR
&& timeout == 0);
// Reset the size of the addr, which is only necessary for UNIX
// domain sockets.
if (new_stream.get_handle () != ACE_INVALID_HANDLE
&& remote_addr != 0)
remote_addr->set_size (len);
}
return this->shared_accept_finish (new_stream,
in_blocking_mode,
reset_new_handle);
}
| void ACE_LSOCK_Acceptor::dump | ( | void | ) | const |
Dump the state of an object.
Reimplemented from ACE_SOCK_Acceptor.
Definition at line 32 of file LSOCK_Acceptor.cpp.
{
#if defined (ACE_HAS_DUMP)
ACE_TRACE ("ACE_LSOCK_Acceptor::dump");
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
this->local_addr_.dump ();
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
#endif /* ACE_HAS_DUMP */
}
| int ACE_LSOCK_Acceptor::get_local_addr | ( | ACE_Addr & | a | ) | const |
Return the local endpoint address.
Reimplemented from ACE_SOCK.
Definition at line 20 of file LSOCK_Acceptor.cpp.
{
ACE_TRACE ("ACE_LSOCK_Acceptor::get_local_addr");
ACE_UNIX_Addr& target = dynamic_cast<ACE_UNIX_Addr &> (a);
target = this->local_addr_;
return 0;
}
| int ACE_LSOCK_Acceptor::open | ( | const ACE_Addr & | local_sap, | |
| int | reuse_addr = 0, |
|||
| int | protocol_family = PF_UNIX, |
|||
| int | backlog = ACE_DEFAULT_BACKLOG, |
|||
| int | protocol = 0 | |||
| ) |
Initiate a passive mode socket.
Reimplemented from ACE_SOCK_Acceptor.
Definition at line 51 of file LSOCK_Acceptor.cpp.
{
ACE_TRACE ("ACE_LSOCK_Acceptor::open");
this->local_addr_ = *((ACE_UNIX_Addr *) &remote_sap); // This is a gross hack...
return ACE_SOCK_Acceptor::open (remote_sap, reuse_addr,
protocol_family, backlog, protocol);
}
| int ACE_LSOCK_Acceptor::remove | ( | void | ) |
Close down the ACE_LSOCK and remove the rendezvous point from the file system.
Definition at line 133 of file LSOCK_Acceptor.cpp.
{
ACE_TRACE ("ACE_LSOCK_Acceptor::remove");
int result = this->close ();
return ACE_OS::unlink (this->local_addr_.get_path_name ()) == -1
|| result == -1 ? -1 : 0;
}
Declare the dynamic allocation hooks.
Reimplemented from ACE_SOCK_Acceptor.
Definition at line 84 of file LSOCK_Acceptor.h.
ACE_UNIX_Addr ACE_LSOCK_Acceptor::local_addr_ [private] |
Address of our rendezvous point.
Definition at line 88 of file LSOCK_Acceptor.h.
1.7.0