summaryrefslogtreecommitdiff
path: root/TAO/tao/Transport.h
diff options
context:
space:
mode:
authorfrehberger <frehberger@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-03-29 18:39:24 +0000
committerfrehberger <frehberger@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-03-29 18:39:24 +0000
commit815662a80575a216a6be11b5d8a58d57f69a44da (patch)
treeedc0bded511b77bf125e6723d1b66994fb9c5163 /TAO/tao/Transport.h
parentf47786bc8a3bbb9270912247c06c24fd09f8ff48 (diff)
downloadATCD-815662a80575a216a6be11b5d8a58d57f69a44da.tar.gz
ChangeLogTag: Wed Mar 29 19:30:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
Diffstat (limited to 'TAO/tao/Transport.h')
-rw-r--r--TAO/tao/Transport.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/TAO/tao/Transport.h b/TAO/tao/Transport.h
index ea710607e90..f1a9ba45ac0 100644
--- a/TAO/tao/Transport.h
+++ b/TAO/tao/Transport.h
@@ -183,18 +183,20 @@ namespace TAO
*
* We solve the problems as follows
*
- * (a) First do a read with the buffer on stack. Query the underlying
- * messaging object whether the message has any incomplete
- * portion. If so, we just grow the buffer for the missing size
- * and read the rest of the message. We free the handle and then
- * send the message to the higher layers of the ORB for
- * processing.
+ * (a) First do a read with the buffer on stack. Query the underlying
+ * messaging object whether the message has any incomplete
+ * portion. If so, data will be copied into new buffer being able
+ * to hold full message and is queued; succeeding events will read
+ * data from socket and write directly into this buffer.
+ * Otherwise, if if the message in local buffer is complete, we free
+ * the handle and then send the message to the higher layers of the
+ * ORB for processing.
*
- * (b) If we block (ie. if we receive a EWOULDBLOCK) while trying to
- * do the above (ie. trying to read after growing the buffer
- * size) we put the message in a queue and return back to the
- * reactor. The reactor would call us back when the handle
- * becomes read ready.
+ * (b) If buffer with incomplete message has been enqueued, while trying
+ * to do the above, the reactor will call us back when the handle
+ * becomes read ready. The read-operation will copy data directly
+ * into the enqueued buffer. If the message has bee read completely
+ * the message is sent to the higher layers of the ORB for processing.
*
* (c) If we get multiple messages (possible if the client connected
* to the server sends oneways or AMI requests), we parse and