summaryrefslogtreecommitdiff
path: root/ace/SOCK_IO.h
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1996-10-21 21:41:34 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1996-10-21 21:41:34 +0000
commita5fdebc5f6375078ec1763850a4ca23ec7fe6458 (patch)
treebcf0a25c3d45a209a6e3ac37b233a4812f29c732 /ace/SOCK_IO.h
downloadATCD-a5fdebc5f6375078ec1763850a4ca23ec7fe6458.tar.gz
Initial revision
Diffstat (limited to 'ace/SOCK_IO.h')
-rw-r--r--ace/SOCK_IO.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/ace/SOCK_IO.h b/ace/SOCK_IO.h
new file mode 100644
index 00000000000..bc60e050a64
--- /dev/null
+++ b/ace/SOCK_IO.h
@@ -0,0 +1,74 @@
+/* -*- 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_SOCK I/O routines (i.e., send/recv).
+{
+public:
+ ssize_t send (const void *buf, size_t n, int flags) const;
+ // Send an n byte buffer to the connected socket (uses send(3)).
+
+ ssize_t recv (void *buf, size_t n, int flags) const;
+ // Recv an n byte buffer from the connected socket (uses recv(3)).
+
+ ssize_t send (const void *buf, size_t n) const;
+ // Send an n byte buffer to the connected socket (uses write(2)).
+
+ ssize_t recv (void *buf, size_t n) const;
+ // Recv an n byte buffer from the connected socket (uses read(2)).
+
+ ssize_t send (const iovec iov[], size_t n) const;
+ // Send a vector of n byte messages to the connected socket.
+
+ ssize_t recv (iovec iov[], size_t n) const;
+ // Recv a vector of n byte messages to the connected socket.
+
+ 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 <n> bytes via Win32 WriteFile using overlapped I/O.
+
+ ssize_t recv (void *buf, size_t n, ACE_OVERLAPPED *overlapped) const;
+ // Recv <n> bytes via Win32 ReadFile using overlapped I/O.
+
+ ssize_t recv (iovec *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 memory.
+
+ void dump (void) const;
+ // Dump the state of an object.
+
+ ACE_ALLOC_HOOK_DECLARE;
+ // Declare the dynamic allocation hooks.
+};
+
+#include "ace/SOCK_IO.i"
+
+#endif /* ACE_SOCK_IO_H */