#include <IOStream_T.h>
Inheritance diagram for ACE_Streambuf_T:


Public Methods | |
| ACE_Streambuf_T (STREAM *peer, u_int streambuf_size=ACE_STREAMBUF_SIZE, int io_mode=ios::in|ios::out) | |
| virtual ssize_t | send (char *buf, ssize_t len) |
| virtual ssize_t | recv (char *buf, ssize_t len, ACE_Time_Value *tv=NULL) |
| virtual ssize_t | recv (char *buf, ssize_t len, int flags, ACE_Time_Value *tv=NULL) |
| virtual ssize_t | recv_n (char *buf, ssize_t len, int flags=0, ACE_Time_Value *tv=NULL) |
Protected Methods | |
| virtual ACE_HANDLE | get_handle (void) |
Protected Attributes | |
| STREAM * | peer_ |
| This will be our ACE_SOCK_Stream or similar object. More... | |
|
||||||||||||||||||||
|
We will be given a STREAM by the iostream object which creates us. See the ACE_IOStream template for how that works. Like other streambuf objects, we can be input-only, output-only or both. Definition at line 39 of file IOStream_T.cpp.
00042 : ACE_Streambuf (streambuf_size, io_mode), 00043 peer_ (peer) 00044 { 00045 // A streambuf allows for unbuffered IO where every character is 00046 // read as requested and written as provided. To me, this seems 00047 // terribly inefficient for socket-type operations, so I've disabled 00048 // it. All of the work would be done by the underflow/overflow 00049 // functions anyway and I haven't implemented anything there to 00050 // support unbuffered IO. 00051 00052 #if !defined (ACE_LACKS_UNBUFFERED_STREAMBUF) 00053 this->unbuffered (0); 00054 #endif /* ! ACE_LACKS_UNBUFFERED_STREAMBUF */ 00055 00056 // Linebuffered is similar to unbuffered. Again, I don't have any 00057 // need for this and I don't see the advantage. I believe this 00058 // would have to be supported by underflow/overflow to be effective. 00059 #if !defined (ACE_LACKS_LINEBUFFERED_STREAMBUF) 00060 this->linebuffered (0); 00061 #endif /* ! ACE_LACKS_LINEBUFFERED_STREAMBUF */ 00062 } |
|
||||||||||
|
Reimplemented from ACE_Streambuf. Definition at line 47 of file IOStream_T.i. References peer_.
|
|
||||||||||||||||||||||||
|
Implements ACE_Streambuf. Definition at line 19 of file IOStream_T.i. References ESUCCESS, ETIME, peer_, ssize_t, and ACE_Streambuf::timeout_.
|
|
||||||||||||||||||||
|
Implements ACE_Streambuf. Definition at line 11 of file IOStream_T.i. References ssize_t.
00014 {
00015 return this->recv (buf, len, 0, tv);
00016 }
|
|
||||||||||||||||||||||||
|
Implements ACE_Streambuf. Definition at line 33 of file IOStream_T.i. References ESUCCESS, ETIME, peer_, ssize_t, and ACE_Streambuf::timeout_.
|
|
||||||||||||||||
|
Stream connections and "unconnected connections" (ie -- datagrams) need to work just a little differently. We derive custom Streambuf objects for them and provide these functions at that time. Implements ACE_Streambuf. Definition at line 5 of file IOStream_T.i. References peer_, and ssize_t.
00006 {
00007 return peer_->send_n (buf,len);
00008 }
|
|
|||||
|
This will be our ACE_SOCK_Stream or similar object.
Definition at line 72 of file IOStream_T.h. Referenced by get_handle, recv, recv_n, and send. |
1.2.14 written by Dimitri van Heesch,
© 1997-2002