/* -*- C++ -*- */ // $Id$ // ============================================================================ // // = LIBRARY // ace // // = FILENAME // SOCK_IO.h // // = AUTHOR // Doug Schmidt // // ============================================================================ #if !defined (ACE_SOCK_IO_H) #define ACE_SOCK_IO_H #include "ace/SOCK.h" class ACE_Export ACE_SOCK_IO : public ACE_SOCK { // = TITLE // Defines the methods for the ACE socket wrapper I/O routines // (e.g., send/recv). public: ACE_SOCK_IO (void); ~ACE_SOCK_IO (void); // Default ctor/dtor. ssize_t send (const void *buf, size_t n, int flags) const; // Send an byte buffer to the connected socket (uses // ). ssize_t recv (void *buf, size_t n, int flags) const; // Recv an byte buffer from the connected socket (uses // ). ssize_t send (const void *buf, size_t n) const; // Send an byte buffer to the connected socket (uses // ). ssize_t recv (void *buf, size_t n) const; // Recv an byte buffer from the connected socket (uses // ). ssize_t send (const iovec iov[], size_t n) const; ssize_t send (const ACE_IO_Vector iov[], size_t n) const; // Send a vector of an byte messages to the connected socket. ssize_t recv (iovec iov[], size_t n) const; ssize_t recv (ACE_IO_Vector iov[], size_t n) const; // Recv a vector of an byte messages to the connected socket. ssize_t send (const void *buf, size_t n, int flags, const ACE_Time_Value *timeout); // Wait to to amount of time to send up to bytes into // from (uses the call). If times out // a -1 is returned with . If it succeeds the // number of bytes sent is returned. ssize_t recv (void *buf, size_t n, int flags, const ACE_Time_Value *timeout); // Wait up to amount of time to receive up to bytes // into from (uses the call). If times // out a -1 is returned with . If it succeeds the // number of bytes received is returned. ssize_t send (size_t n, ...) const; // Send varargs messages to the connected socket. ssize_t recv (size_t n, ...) const; // Recv varargs messages to the connected socket. ssize_t send (const void *buf, size_t n, ACE_OVERLAPPED *overlapped) const; // Send bytes via Win32 WriteFile using overlapped I/O. ssize_t recv (void *buf, size_t n, ACE_OVERLAPPED *overlapped) const; // Recv bytes via Win32 ReadFile using overlapped I/O. ssize_t recv (iovec *io_vec); ssize_t recv (ACE_IO_Vector *io_vec); // Allows a client to read from a socket without having to provide a // buffer to read. This method determines how much data is in the // socket, allocates a buffer of this size, reads in the data, and // returns the number of bytes read. The caller is responsible for // deleting the member in the field of . void dump (void) const; // Dump the state of an object. ACE_ALLOC_HOOK_DECLARE; // Declare the dynamic allocation hooks. }; #if !defined (ACE_LACKS_INLINE_FUNCTIONS) #include "ace/SOCK_IO.i" #endif #endif /* ACE_SOCK_IO_H */