summaryrefslogtreecommitdiff
path: root/ace/SOCK_Connector.i
blob: ebce17c7f53d4a725ea16467ca8198c3de4f4d6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/* -*- C++ -*- */
// $Id$

// SOCK_Connector.i

// This constructor is used by a client when it wants to connect to
// the specified REMOTE_SAP address using a blocking open.

ASYS_INLINE
ACE_SOCK_Connector::~ACE_SOCK_Connector (void)
{
  ACE_TRACE ("ACE_SOCK_Connector::~ACE_SOCK_Connector");
}

ASYS_INLINE
ACE_SOCK_Connector::ACE_SOCK_Connector (ACE_SOCK_Stream &new_stream, 
					const ACE_Addr &remote_sap, 
					ACE_Time_Value *timeout,
					const ACE_Addr &local_sap,
					int reuse_addr,
					int flags,
					int perms,
					int protocol_family,
					int protocol)
{
  ACE_TRACE ("ACE_SOCK_Connector::ACE_SOCK_Connector");
  if (this->connect (new_stream, remote_sap, timeout, local_sap,
		     reuse_addr, flags, perms, protocol_family, protocol) == -1
      && timeout != 0 && !(errno == EWOULDBLOCK || errno == ETIME))
    ACE_ERROR ((LM_ERROR, ASYS_TEXT ("%p\n"), ASYS_TEXT ("ACE_SOCK_Connector::ACE_SOCK_Connector")));
}

// Do-nothing constructor...

ASYS_INLINE
ACE_SOCK_Connector::ACE_SOCK_Connector (void)
{
  ACE_TRACE ("ACE_SOCK_Connector::ACE_SOCK_Connector");
}

ASYS_INLINE int 
ACE_SOCK_Connector::reset_new_handle (ACE_HANDLE handle)
{
  ACE_UNUSED_ARG (handle);
#if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
  // Reset the event association 
  return ::WSAEventSelect ((SOCKET) handle,
                           NULL,
                           0);    
#else /* !defined ACE_HAS_WINSOCK2 */
  return 0;
#endif /* ACE_WIN32 */
}