# ACE_SPIPE Class Reference

Defines the member functions for the base class of the ACE_SPIPE abstraction. More...

`#include <SPIPE.h>`

Inheritance diagram for ACE_SPIPE:

[legend]
Collaboration diagram for ACE_SPIPE:

[legend]
List of all members.

## Public Member Functions

int | close (void)
| Close down the SPIPE without removing the rendezvous point.
int | remove (void)
int | get_local_addr (ACE_SPIPE_Addr &) const
| Return the local address of this endpoint.
int | disable (int signum) const
void | dump (void) const
| Dump the state of an object.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Protected Member Functions

| ACE_SPIPE (void)
| Ensure that this class is an abstract base class.

## Protected Attributes

ACE_SPIPE_Addr | local_addr_
| Our local address.

## Detailed Description

Defines the member functions for the base class of the ACE_SPIPE abstraction.

ACE_SPIPE was designed as a wrapper facade for STREAM pipes. On Windows, however, ACE_SPIPE is a wrapper for Named Pipes. Therefore, on Windows, it is better to use the ACE_Proactor or blocking operations in lieu of using the ACE_Reactor.

See also:
  ACE_SPIPE_Acceptor for additional notes on use with ACE_Reactor on Windows.

Warning:
  Windows: Works only on Windows NT 4 and higher.

  Works on non-Windows platforms only when `ACE_HAS_STREAM_PIPES` is defined.

## Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_SPIPE::ACE_SPIPE | ( | void |  | ) | `[protected]`

| Ensure that this class is an abstract base class.

## Member Function Documentation

int ACE_SPIPE::close | ( | void |  | ) |

Close down the SPIPE without removing the rendezvous point.

Closes the underlying pipe handle and sets this object's handle value to `ACE_INVALID_HANDLE`.

Returns:
  0 for success; -1 for failure. If a failure occurs, further error information is available from ACE_OS::last_error().

Reimplemented in ACE_SPIPE_Acceptor, ACE_UPIPE_Acceptor, and ACE_UPIPE_Stream.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE int ACE_SPIPE::disable | ( | int | signum | ) | const

Disable signal

- signum.
  Note:
    This reimplements the inherited method from ACE_IPC_SAP. Since the signal actions do not make any sense on Windows, this method intercepts the call and NOPs it. On non-Windows, it is passed through to ACE_IPC_SAP::disable().

Reimplemented from ACE_IPC_SAP.

void ACE_SPIPE::dump | ( | void |  | ) | const

| Dump the state of an object. Reimplemented from ACE_IPC_SAP. Reimplemented in ACE_SPIPE_Acceptor, ACE_SPIPE_Stream, ACE_UPIPE_Acceptor, and ACE_UPIPE_Stream.

int ACE_SPIPE::get_local_addr | ( | ACE_SPIPE_Addr & |  | ) | const

Return the local address of this endpoint.

Returns the local address of the SPIPE's endpoint in

- addr.
  Returns:
    0 for success; -1 for failure. If a failure occurs, further error information is available from ACE_OS::last_error().

int ACE_SPIPE::remove | ( | void |  | ) |

Returns:
  0 for success; -1 for failure. If a failure occurs, further error information is available from ACE_OS::last_error().

Reimplemented in ACE_SPIPE_Acceptor, and ACE_UPIPE_Acceptor.

## Member Data Documentation

ACE_SPIPE::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks. Reimplemented from ACE_IPC_SAP. Reimplemented in ACE_SPIPE_Acceptor, ACE_SPIPE_Stream, ACE_UPIPE_Acceptor, and ACE_UPIPE_Stream.

ACE_SPIPE_Addr ACE_SPIPE::local_addr_`[protected]`

| Our local address.

The documentation for this class was generated from the following files:

- SPIPE.h
- SPIPE.cpp
- SPIPE.inl