NAME

ACE_UPIPE_Stream - Defines the method that transfer data on a UPIPE.

SYNOPSIS

#include <ace/UPIPE_Stream.h>

class ACE_UPIPE_Stream : public ACE_SPIPE { public: friend class ACE_UPIPE_Acceptor; friend class ACE_UPIPE_Connector; ACE_UPIPE_Stream (void); virtual ~ACE_UPIPE_Stream (void); int close (void); ACE_HANDLE get_handle (void) const; int send (ACE_Message_Block *mb_p, ACE_Time_Value *timeout = 0); int recv (ACE_Message_Block *&mb_p, ACE_Time_Value *timeout = 0); int send ( const char *buffer, size_t n, ACE_Time_Value *timeout = 0 ); int recv (char *buffer, size_t n, ACE_Time_Value *timeout = 0); int send_n ( const char *buffer, size_t n, ACE_Time_Value *timeout = 0 ); int recv_n (char *buffer, size_t n, ACE_Time_Value *timeout = 0); int control (int cmd, void *val) const; int get_remote_addr (ACE_UPIPE_Addr &remote_sap) const; void dump (void) const; ACE_ALLOC_HOOK_DECLARE; private: ACE_Message_Block *mb_last_; size_t remaining_; ACE_UPIPE_Addr remote_addr_; MT_Stream stream_; int reference_count_; ACE_Thread_Mutex lock_; };

Initialization and Termination.

ACE_UPIPE_Stream (void);

virtual ~ACE_UPIPE_Stream (void);

int close (void);

ACE_HANDLE get_handle (void) const;

Send/recv ACE Message_Blocks.

int send (ACE_Message_Block *mb_p, ACE_Time_Value *timeout = 0);

int recv (ACE_Message_Block *&mb_p, ACE_Time_Value *timeout = 0);

Send/recv char buffers.

int send (const char *buffer, size_t n, ACE_Time_Value *timeout = 0);

int recv (char *buffer, size_t n, ACE_Time_Value *timeout = 0);

int send_n (
    const char *buffer,
    size_t n,
    ACE_Time_Value *timeout = 0
    );

int recv_n (char *buffer, size_t n, ACE_Time_Value *timeout = 0);

int control (int cmd, void *val) const;

int get_remote_addr (ACE_UPIPE_Addr &remote_sap) const;

void dump (void) const;

ACE_ALLOC_HOOK_DECLARE;

AUTHOR

Gerhard Lenzer and Douglas C. Schmidt

LIBRARY

ace