GitHub Actions: Try MSVC builds with /std:c++17 and 20
[ACE_TAO.git] / ACE / ace / LSOCK_Connector.h
blob20ced3ba7efe8a27049dc470d6a957496af99c69
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file LSOCK_Connector.h
7 * @author Doug Schmidt <d.schmidt@vanderbilt.edu>
8 */
9 //=============================================================================
11 #ifndef ACE_LOCAL_SOCK_CONNECTOR_H
12 #define ACE_LOCAL_SOCK_CONNECTOR_H
13 #include /**/ "ace/pre.h"
15 #include /**/ "ace/config-all.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS)
23 #include "ace/SOCK_Connector.h"
24 #include "ace/LSOCK_Stream.h"
25 #include "ace/UNIX_Addr.h"
27 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
29 /**
30 * @class ACE_LSOCK_Connector
32 * @brief Defines the format and interface for the connector side of
33 * the ACE_LSOCK_Stream.
35 class ACE_Export ACE_LSOCK_Connector : public ACE_SOCK_Connector
37 public:
38 /// Default constructor.
39 ACE_LSOCK_Connector (void);
41 /**
42 * Actively connect and produce a @a new_stream if things go well.
43 * All arguments are relayed to the ACE_SOCK_Connector constructor
44 * for handling.
45 * @see ACE_SOCK_Connector().
47 ACE_LSOCK_Connector (ACE_LSOCK_Stream &new_stream,
48 const ACE_UNIX_Addr &remote_sap,
49 ACE_Time_Value *timeout = 0,
50 const ACE_Addr &local_sap = ACE_Addr::sap_any,
51 int reuse_addr = 0,
52 int flags = 0,
53 int perms = 0);
55 /**
56 * Actively connect and produce a @a new_stream if things go well.
57 * The @c ACE_SOCK_Connector::connect() method is called to perform
58 * the actual connection attempt.
59 * @see ACE_SOCK_Connector::connect().
61 int connect (ACE_LSOCK_Stream &new_stream,
62 const ACE_UNIX_Addr &remote_sap,
63 ACE_Time_Value *timeout = 0,
64 const ACE_Addr &local_sap = ACE_Addr::sap_any,
65 int reuse_addr = 0,
66 int flags = 0,
67 int perms = 0);
69 // = Meta-type info
70 typedef ACE_UNIX_Addr PEER_ADDR;
71 typedef ACE_LSOCK_Stream PEER_STREAM;
73 /// Dump the state of an object.
74 void dump (void) const;
76 /// Declare the dynamic allocation hooks.
77 ACE_ALLOC_HOOK_DECLARE;
80 ACE_END_VERSIONED_NAMESPACE_DECL
82 #if defined (__ACE_INLINE__)
83 #include "ace/LSOCK_Connector.inl"
84 #endif /* __ACE_INLINE__ */
86 #endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */
87 #include /**/ "ace/post.h"
88 #endif /* ACE_LOCAL_SOCK_CONNECTOR_H */