# ACE_MEM_Stream Class Reference

Defines the methods in the ACE_MEM_Stream abstraction. More...

`#include <MEM_Stream.h>`

Inheritance diagram for ACE_MEM_Stream:

[legend]
Collaboration diagram for ACE_MEM_Stream:

[legend]
List of all members.

## Public Types

typedef ACE_Addr | PEER_ADDR

## Public Member Functions

| ACE_MEM_Stream (void)
| Constructor.
| ACE_MEM_Stream (ACE_HANDLE h)
| Constructor (sets the underlying ACE_HANDLE with <h>).
| ~ACE_MEM_Stream (void)
| Destructor.
ssize_t | send_n (const void *buf, size_t n)
ssize_t | recv_n (void *buf, size_t n)
ssize_t | send_n (const void *buf, size_t n, int flags)
ssize_t | recv_n (void *buf, size_t n, int flags)
int | close_reader (void)
| Close down the reader.
int | close_writer (void)
| Close down the writer.
int | close (void)
void | dump (void) const
| Dump the state of an object.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Friends

class | ACE_MEM_Acceptor
class | ACE_MEM_Connector

## Detailed Description

Defines the methods in the ACE_MEM_Stream abstraction.

This adds additional wrapper methods atop the ACE_MEM_IO class. Notice that ACE_MEM_Stream can only send messages no bigger than the underlying MMAP file size minus sizeof (ACE_MEM_SAP_Node). The size of the MMAP file is default to ACE_MEM_STREAM_MIN_BUFFER. (Define above in this file, to 4096 bytes.) If you need to increase the size of allowable message ACE_MEM_Stream can handle, you can set it to either `ACE_MEM_Acceptor::malloc_options()`. minimal_bytes_ `ACE_MEM_Acceptor::init_buffer_size` (size_t size); before establishing a connection.

## Member Typedef Documentation

typedef ACE_Addr ACE_MEM_Stream::PEER_ADDR

## Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_MEM_Stream::ACE_MEM_Stream | ( | void |  | ) |

| Constructor.

ACE_INLINE ACE_MEM_Stream::ACE_MEM_Stream | ( | ACE_HANDLE | h | ) |

| Constructor (sets the underlying ACE_HANDLE with <h>).

ACE_INLINE ACE_MEM_Stream::~ACE_MEM_Stream | ( | void |  | ) |

| Destructor.

## Member Function Documentation

int ACE_MEM_Stream::close | ( | void |  | ) |

| Close down the socket (we need this to make things work correctly on Win32, which requires use to do a <close_writer> before doing the close to avoid losing data). Reimplemented from ACE_SOCK.

ACE_INLINE int ACE_MEM_Stream::close_reader | ( | void |  | ) |

| Close down the reader.

ACE_INLINE int ACE_MEM_Stream::close_writer | ( | void |  | ) |

| Close down the writer.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_MEM_Stream::dump | ( | void |  | ) | const

| Dump the state of an object. Reimplemented from ACE_MEM_IO.

ACE_INLINE ssize_t ACE_MEM_Stream::recv_n | ( | void * | buf,
|  | size_t | n,
|  | int | flags
| ) |

ACE_INLINE ssize_t ACE_MEM_Stream::recv_n | ( | void * | buf,
|  | size_t | n
| ) |

ACE_INLINE ssize_t ACE_MEM_Stream::send_n | ( | const void * | buf,
|  | size_t | n,
|  | int | flags
| ) |

| Send n bytes, keep trying until n are sent. Recv n bytes, keep trying until n are received.

ACE_INLINE ssize_t ACE_MEM_Stream::send_n | ( | const void * | buf,
|  | size_t | n
| ) |

| Send n bytes, keep trying until n are sent. Recv n bytes, keep trying until n are received.

## Friends And Related Function Documentation

friend class ACE_MEM_Acceptor`[friend]`

friend class ACE_MEM_Connector`[friend]`

## Member Data Documentation

ACE_MEM_Stream::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks. Reimplemented from ACE_MEM_IO.

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

- MEM_Stream.h
- MEM_Stream.cpp
- MEM_Stream.inl