---
name: "ACE_FILE_Connector"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_FILE_Connector"
---

# ACE\_FILE\_Connector(3)

Defines an active connection factory for the ACE\_FILE wrappers.

## NAME

ACE\_FILE\_Connector -  Defines an active connection factory for the ACE\_FILE wrappers.

## SYNOPSIS

```
#include <ace/FILE_Connector.h>
class ACE_FILE_Connector
{
  public:
    ACE_FILE_Connector (void);
    ACE_FILE_Connector (
        ACE_FILE_IO &new_io,
        const ACE_FILE_Addr &remote_sap,
        ACE_Time_Value *timeout = 0,
        const ACE_Addr &local_sap = ACE_Addr::sap_any,
        int reuse_addr = 0,
        int flags = O_RDWR | O_CREAT,
        int perms = ACE_DEFAULT_FILE_PERMS
        );
    int connect (
        ACE_FILE_IO &new_io,
        const ACE_FILE_Addr &remote_sap,
        ACE_Time_Value *timeout = 0,
        const ACE_Addr &local_sap = ACE_Addr::sap_any,
        int reuse_addr = 0,
        int flags = O_RDWR | O_CREAT,
        int perms = ACE_DEFAULT_FILE_PERMS
        );
    int reset_new_handle (ACE_HANDLE handle);
    void dump (void) const;
    ACE_ALLOC_HOOK_DECLARE;
    typedef ACE_FILE_Addr PEER_ADDR;
    typedef ACE_FILE_IO PEER_STREAM;
};
```

## Initialization methods.

```
ACE_FILE_Connector (void);
```

Default constructor.

```
ACE_FILE_Connector (
    ACE_FILE_IO &new_io,
    const ACE_FILE_Addr &remote_sap,
    ACE_Time_Value *timeout = 0,
    const ACE_Addr &local_sap = ACE_Addr::sap_any,
    int reuse_addr = 0,
    int flags = O_RDWR | O_CREAT,
    int perms = ACE_DEFAULT_FILE_PERMS
    );
```

Actively \`\`connect'' and produce a new\_io ACE\_FILE\_IO object if things go well.  The remote\_sap is the file that we are trying to create/open.  If it's the default value of ACE\_Addr::sap\_any then the user is letting the OS create the filename (via ACE\_OS::mktemp).  The timeout is the amount of time to wait to create/open the file.  If it's 0 then we block indefinitely.  If \*timeout == {0, 0} then the file is created using non-blocking mode.  In this case, if the create/open can't be done immediately the value of -1 is returned with errno == EWOULDBLOCK.  If \*timeout  {0, 0} then this is the amount of time to wait before timing out.  If the time expires before the connection is made errno == ETIME.  The local\_sap and reuse\_addr parameters are ignored.  The flags and perms arguments are passed down to the ACE\_OS::open method.

```
int connect (
    ACE_FILE_IO &new_io,
    const ACE_FILE_Addr &remote_sap,
    ACE_Time_Value *timeout = 0,
    const ACE_Addr &local_sap = ACE_Addr::sap_any,
    int reuse_addr = 0,
    int flags = O_RDWR | O_CREAT,
    int perms = ACE_DEFAULT_FILE_PERMS
    );
```

Actively \`\`connect'' and produce a new\_io ACE\_FILE\_IO object if things go well.  The remote\_sap is the file that we are trying to create/open.  If it's the default value of ACE\_Addr::sap\_any then the user is letting the OS create the filename (via ACE\_OS::mktemp).  The timeout is the amount of time to wait to create/open the file.  If it's 0 then we block indefinitely.  If \*timeout == {0, 0} then the file is created using non-blocking mode.  In this case, if the create/open can't be done immediately the value of -1 is returned with errno == EWOULDBLOCK.  If \*timeout  {0, 0} then this is the amount of time to wait before timing out.  If the time expires before the connection is made errno == ETIME.  The local\_sap and reuse\_addr parameters are ignored.  The flags and perms arguments are passed down to the ACE\_OS::open method.

```
int reset_new_handle (ACE_HANDLE handle);
```

Resets any event associations on this handle

```
void dump (void) const;
```

Dump the state of an object.

```
ACE_ALLOC_HOOK_DECLARE;
```

Declare the dynamic allocation hooks.

## Meta-type trait" information."

```
typedef ACE_FILE_Addr PEER_ADDR;
```

```
typedef ACE_FILE_IO PEER_STREAM;
```

## AUTHOR

Doug Schmidt

## LIBRARY

ace
