diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-11-01 22:17:39 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-11-01 22:17:39 +0000 |
commit | 4cdff4b3e2dbc73b00e671ef638d71d6d854e0ac (patch) | |
tree | 97236ece363cff48fd287c780db4290da39b02cb /ace/DEV_IO.h | |
parent | 7b6368ec78831d127f38eb7b630c21f98faf6a83 (diff) | |
download | ATCD-4cdff4b3e2dbc73b00e671ef638d71d6d854e0ac.tar.gz |
ChangeLogTag:Wed Nov 1 14:11:48 2000 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'ace/DEV_IO.h')
-rw-r--r-- | ace/DEV_IO.h | 93 |
1 files changed, 49 insertions, 44 deletions
diff --git a/ace/DEV_IO.h b/ace/DEV_IO.h index 85410750b01..3e5ed037bbf 100644 --- a/ace/DEV_IO.h +++ b/ace/DEV_IO.h @@ -1,18 +1,16 @@ /* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// DEV_IO.h -// -// = AUTHOR -// Gerhard Lenzer and Douglas C. Schmidt -// -// ============================================================================ + +//============================================================================= +/** + * @file DEV_IO.h + * + * $Id$ + * + * @author Gerhard Lenzer + @ @author Douglas C. Schmidt + */ +//============================================================================= + #ifndef ACE_DEV_IO_H #define ACE_DEV_IO_H @@ -26,99 +24,106 @@ #include "ace/DEV_Addr.h" +/** + * @class ACE_DEV_IO + * + * @brief Read/Write operations on Devices. + */ class ACE_Export ACE_DEV_IO : public ACE_DEV { - // = TITLE - // Read/Write operations on Devices. public: friend class ACE_DEV_Connector; + /// Default constructor. ACE_DEV_IO (void); - // Default constructor. // = Various send operations. + /// send upto <n> bytes in <buf>. ssize_t send (const void *buf, size_t n) const; - // send upto <n> bytes in <buf>. + /// Recv upto <n> bytes in <buf>. ssize_t recv (void *buf, size_t n) const; - // Recv upto <n> bytes in <buf>. + /// Send n bytes, keep trying until n are sent. ssize_t send_n (const void *buf, size_t n) const; - // Send n bytes, keep trying until n are sent. + /// Recv n bytes, keep trying until n are received. ssize_t recv_n (void *buf, size_t n) const; - // Recv n bytes, keep trying until n are received. #if defined (ACE_HAS_STREAM_PIPES) + /// Recv bytes via STREAM pipes using "band" mode. ssize_t recv (ACE_Str_Buf *cntl, ACE_Str_Buf *data, int *band, int *flags) const; - // Recv bytes via STREAM pipes using "band" mode. + /// Send bytes via STREAM pipes using "band" mode. ssize_t send (const ACE_Str_Buf *cntl, const ACE_Str_Buf *data, int band, int flags) const; - // Send bytes via STREAM pipes using "band" mode. + /// Recv <cntl> and <data> via STREAM pipes. ssize_t recv (ACE_Str_Buf *cntl, ACE_Str_Buf *data, int *flags) const; - // Recv <cntl> and <data> via STREAM pipes. + /// Send <cntl> and <data> via STREAM pipes. ssize_t send (const ACE_Str_Buf *cntl, const ACE_Str_Buf *data, int flags = 0) const; - // Send <cntl> and <data> via STREAM pipes. #endif /* ACE_HAS_STREAM_PIPES */ + /// Send iovecs via <::writev>. ssize_t send (const iovec iov[], size_t n) const; - // Send iovecs via <::writev>. + /// Recv iovecs via <::readv>. ssize_t recv (iovec iov[], size_t n) const; - // Recv iovecs via <::readv>. + /** + * Send N char *ptrs and int lengths. Note that the char *'s + * precede the ints (basically, an varargs version of writev). The + * count N is the *total* number of trailing arguments, *not* a + * couple of the number of tuple pairs! + */ ssize_t send (size_t n, ...) const; - // Send N char *ptrs and int lengths. Note that the char *'s - // precede the ints (basically, an varargs version of writev). The - // count N is the *total* number of trailing arguments, *not* a - // couple of the number of tuple pairs! + /** + * This is an interface to ::readv, that doesn't use the struct + * iovec explicitly. The ... can be passed as an arbitrary number + * of (char *ptr, int len) tuples. However, the count N is the + * *total* number of trailing arguments, *not* a couple of the + * number of tuple pairs! + */ ssize_t recv (size_t n, ...) const; - // This is an interface to ::readv, that doesn't use the struct - // iovec explicitly. The ... can be passed as an arbitrary number - // of (char *ptr, int len) tuples. However, the count N is the - // *total* number of trailing arguments, *not* a couple of the - // number of tuple pairs! + /// Send <n> bytes via Win32 WriteFile using overlapped I/O. ssize_t send (const void *buf, size_t n, ACE_OVERLAPPED *overlapped) const; - // Send <n> bytes via Win32 WriteFile using overlapped I/O. + /// Recv <n> bytes via Win32 ReadFile 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. + /// Dump the state of an object. void dump (void) const; - // Dump the state of an object. // = The following two methods are no-ops to keep the // <ACE_Connector> happy. + /// Return the local endpoint address. int get_local_addr (ACE_DEV_Addr &) const; - // Return the local endpoint address. + /// Return the address of the remotely connected peer (if there is + /// one). int get_remote_addr (ACE_DEV_Addr &) const; - // Return the address of the remotely connected peer (if there is - // one). + /// Declare the dynamic allocation hooks. ACE_ALLOC_HOOK_DECLARE; - // Declare the dynamic allocation hooks. // = Meta-type info typedef ACE_DEV_Addr PEER_ADDR; private: + /// Address of device we are connected to. ACE_DEV_Addr addr_; - // Address of device we are connected to. }; #if !defined (ACE_LACKS_INLINE_FUNCTIONS) |