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;
    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 (ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds cmd, void *val);
    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_;
};

Termination.

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 (ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds cmd, void *val);
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