# ACE_UPIPE_Stream Class Reference

Defines the method that transfer data on a UPIPE. More...

`#include <UPIPE_Stream.h>`

Inheritance diagram for ACE_UPIPE_Stream:

[legend]
Collaboration diagram for ACE_UPIPE_Stream:

[legend]
List of all members.

## Public Types

typedef ACE_Stream< ACE_SYNCH > | MT_Stream
typedef ACE_UPIPE_Addr | PEER_ADDR

## Public Member Functions

| ACE_UPIPE_Stream (void)
virtual | ~ACE_UPIPE_Stream (void)
int | close (void)
| Shut down the UPIPE and release resources.
ACE_HANDLE | get_handle (void) const
| Return the underlying I/O handle.
int | send (ACE_Message_Block *mb_p, ACE_Time_Value *timeout=0)
int | recv (ACE_Message_Block *&mb_p, ACE_Time_Value *timeout=0)
ssize_t | send (const char *buffer, size_t n, ACE_Time_Value *timeout=0)
ssize_t | recv (char *buffer, size_t n, ACE_Time_Value *timeout=0)
ssize_t | send_n (const char *buffer, size_t n, ACE_Time_Value *timeout=0)
ssize_t | recv_n (char *buffer, size_t n, ACE_Time_Value *timeout=0)
int | control (int cmd, void *val) const
| Perform control operations on the UPIPE_Stream.
int | get_remote_addr (ACE_UPIPE_Addr &remote_sap) const
| Return the remote address we are connected to.
void | dump (void) const
| Dump the state of an object.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Private Attributes

ACE_Message_Block * | mb_last_
ACE_UPIPE_Addr | remote_addr_
| Address of who we are connected to.
MT_Stream | stream_
int | reference_count_

## Friends

class | ACE_UPIPE_Acceptor
class | ACE_UPIPE_Connector

## Detailed Description

Defines the method that transfer data on a UPIPE.

## Member Typedef Documentation

typedef ACE_Stream<ACE_SYNCH> ACE_UPIPE_Stream::MT_Stream

typedef ACE_UPIPE_Addr ACE_UPIPE_Stream::PEER_ADDR

## Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_UPIPE_Stream::ACE_UPIPE_Stream | ( | void |  | ) |

ACE_UPIPE_Stream::~ACE_UPIPE_Stream | ( | void |  | ) | `[virtual]`

## Member Function Documentation

int ACE_UPIPE_Stream::close | ( | void |  | ) |

| Shut down the UPIPE and release resources. Reimplemented from ACE_SPIPE.

int ACE_UPIPE_Stream::control | ( | int | cmd,
|  | void * | val
| ) | const

| Perform control operations on the UPIPE_Stream. Reimplemented from ACE_IPC_SAP.

void ACE_UPIPE_Stream::dump | ( | void |  | ) | const

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

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_HANDLE ACE_UPIPE_Stream::get_handle | ( | void |  | ) | const

| Return the underlying I/O handle. Reimplemented from ACE_IPC_SAP.

int ACE_UPIPE_Stream::get_remote_addr | ( | ACE_UPIPE_Addr & | remote_sap | ) | const

| Return the remote address we are connected to.

ssize_t ACE_UPIPE_Stream::recv | ( | char * | buffer,
|  | size_t | n,
|  | ACE_Time_Value * | timeout = `0`
| ) |

| Recv a buffer of upto n bytes from the message queue. Returns -1 on error, else number of bytes read.

int ACE_UPIPE_Stream::recv | ( | ACE_Message_Block *& | mb_p,
|  | ACE_Time_Value * | timeout = `0`
| ) |

| Recv a message from the message queue. Returns -1 on error, else 0.

ssize_t ACE_UPIPE_Stream::recv_n | ( | char * | buffer,
|  | size_t | n,
|  | ACE_Time_Value * | timeout = `0`
| ) |

| Recv a buffer of exactly <n> bytes from the message queue. Returns -1 on error, else the number of bytes read.

ssize_t ACE_UPIPE_Stream::send | ( | const char * | buffer,
|  | size_t | n,
|  | ACE_Time_Value * | timeout = `0`
| ) |

| Send a buffer of n bytes through the message queue. Returns -1 on error, else number of bytes sent.

int ACE_UPIPE_Stream::send | ( | ACE_Message_Block * | mb_p,
|  | ACE_Time_Value * | timeout = `0`
| ) |

| Send a message through the message queue. Returns -1 on error, else 0.

ssize_t ACE_UPIPE_Stream::send_n | ( | const char * | buffer,
|  | size_t | n,
|  | ACE_Time_Value * | timeout = `0`
| ) |

| Send a buffer of exactly n bytes to the message queue. Returns -1 on error, else number of bytes written (which should == n).

## Friends And Related Function Documentation

friend class ACE_UPIPE_Acceptor `[friend]`

friend class ACE_UPIPE_Connector `[friend]`

## Member Data Documentation

ACE_UPIPE_Stream::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks. Reimplemented from ACE_SPIPE.

ACE_Message_Block* ACE_UPIPE_Stream::mb_last_ `[private]`

| To hold the last ACE_Message_Block read out of the stream. Thus allowing subsequent reads from one ACE_Message_Block

int ACE_UPIPE_Stream::reference_count_ `[private]`

| Keep track of whether the sender and receiver have both shut down.

ACE_UPIPE_Addr ACE_UPIPE_Stream::remote_addr_ `[private]`

| Address of who we are connected to.

MT_Stream ACE_UPIPE_Stream::stream_ `[private]`

| Stream component used by the `UPIPE_Acceptor` and `UPIPE_Connector` to link together two UPIPE_Streams.

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

- UPIPE_Stream.h
- UPIPE_Stream.cpp
- UPIPE_Stream.inl