[Ttssh2-commit] [5616] チケット refs #33822

アーカイブの一覧に戻る

svnno****@sourc***** svnno****@sourc*****
2014年 6月 22日 (日) 18:09:09 JST


Revision: 5616
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5616
Author:   yutakapon
Date:     2014-06-22 18:09:08 +0900 (Sun, 22 Jun 2014)
Log Message:
-----------
チケット refs #33822
UTIL_sock_buffered_write 関数にコメントを付与した。

Ticket Links:
------------
    http://sourceforge.jp/projects/ttssh2/tracker/detail/33822

Modified Paths:
--------------
    trunk/ttssh2/ttxssh/util.c

-------------- next part --------------
Modified: trunk/ttssh2/ttxssh/util.c
===================================================================
--- trunk/ttssh2/ttxssh/util.c	2014-06-21 12:55:55 UTC (rev 5615)
+++ trunk/ttssh2/ttxssh/util.c	2014-06-22 09:09:08 UTC (rev 5616)
@@ -67,6 +67,20 @@
 /* Tera Term\x82\xAA\x93\xAE\x8D삵\x82Ă\xA2\x82\xE9PC\x8F\xE3\x82\xCC X \x83T\x81[\x83o\x83v\x83\x8D\x83O\x83\x89\x83\x80\x82ɑ΂\xB5\x82āA\x83f\x81[\x83^\x82𑗂\xE9\x81B
  * \x88\xEA\x93x\x82ő\x97\x82\xEA\x82Ȃ\xA2\x8Fꍇ\x82́A\x83\x8A\x83\x93\x83O\x83o\x83b\x83t\x83@\x82Ɋi\x94[\x82\xB5\x81A\x92x\x89\x84\x94z\x91\x97\x82\xB7\x82\xE9\x81B 
  *
+ * \x93\xAE\x8D\xEC\x83t\x83\x8D\x81[\x82͉\xBA\x8BL\x82̒ʂ\xE8\x81B
+ * (1) \x8F\x89\x89\xF1\x82̃f\x81[\x83^\x82\xAA\x93͂\xAD\x81B\x82\xE0\x82\xB5\x82\xAD\x82́A\x83\x8A\x83\x93\x83O\x83o\x83b\x83t\x83@\x82\xAA\x8B\xF3\x81B
+ * (2) non-blocking\x82ő\x97\x90M\x82\xF0\x8E\x8E\x82݂\xE9\x81B\x91S\x91\x97\x90M\x82ł\xAB\x82\xBD\x82\xE7return\x81B
+ * (3) \x91\x97\x90M\x82ł\xAB\x82Ȃ\xA9\x82\xC1\x82\xBD\x83f\x81[\x83^\x82̓\x8A\x83\x93\x83O\x83o\x83b\x83t\x83@\x82֊i\x94[\x82\xB5\x81Areturn\x81B
+ * (4) \x8E\x9F\x82̃f\x81[\x83^\x82\xAA\x93͂\xAD\x81B
+ * (5) \x83\x8A\x83\x93\x83O\x83o\x83b\x83t\x83@\x82֊i\x94[\x82\xB5\x81Areturn\x81B
+ * (6) \x8E\x9F\x82̃f\x81[\x83^\x82\xAA\x93͂\xAD\x81B
+ * (7) \x83\x8A\x83\x93\x83O\x83o\x83b\x83t\x83@\x82\xAA\x83t\x83\x8B\x82ɂȂ\xC1\x82\xBD\x82\xE7\x81A\x83o\x83b\x83t\x83@\x82Ɏc\x82\xC1\x82Ă\xA2\x82\xE9\x83f\x81[\x83^\x82\xF0 blocking \x82ő\x97\x90M\x82\xF0\x8E\x8E\x82݂\xE9\x81B
+ *     \x91\x97\x90M\x8E\xB8\x94s\x82\xB5\x82\xBD\x82\xE7\x81A\x83G\x83\x89\x81[return\x81B
+ * (8) \x83\x86\x81[\x83U\x83f\x81[\x83^(data/len)\x82̑\x97\x90M\x82\xF0 blocking \x82ő\x97\x90M\x82\xF0\x8E\x8E\x82݂\xE9\x81B
+ *     \x91\x97\x90M\x8E\xB8\x94s\x82\xB5\x82\xBD\x82\xE7\x81A\x83G\x83\x89\x81[return\x81B 
+ * (9) \x91\x97\x90M\x82ł\xAB\x82Ȃ\xA9\x82\xC1\x82\xBD\x83\x86\x81[\x83U\x83f\x81[\x83^\x82̓\x8A\x83\x93\x83O\x83o\x83b\x83t\x83@\x82֊i\x94[\x82\xB5\x81Areturn\x81B
+ * (10) \x83\x8A\x83\x93\x83O\x83o\x83b\x83t\x83@\x82Ɏc\x82\xC1\x82Ă\xA2\x82\xE9\x83f\x81[\x83^\x82\xF0 non-blocking\x82ő\x97\x90M\x82\xF0\x8E\x8E\x82݂\xE9\x81B
+ *
  * pvar: \x8B\xA4\x97L\x83\x8A\x83\\x81[\x83X
  * buf: \x83\x8A\x83\x93\x83O\x83o\x83b\x83t\x83@
  * blocking_write: \x93\xAF\x8A\xFA\x8C^\x82̃p\x83P\x83b\x83g\x91\x97\x90M\x8A֐\x94
@@ -186,6 +200,19 @@
 	   2) Write data from user
 	   3) Copy remaining user data into buffer
 	 */
+	// \x83o\x83b\x83t\x83@\x82\xAA\x82\xA2\x82\xC1\x82ς\xA2\x82ɂȂ\xE8\x81A\x90V\x82\xB5\x82\xA2\x83f\x81[\x83^(data)\x82\xAA\x88\xEC\x82\xEA\x82\xE9\x8Fꍇ\x82\xC9 space_required \x82\xAA\x90\xB3\x82ƂȂ\xE9\x81B
+	// \x82\xB7\x82Ȃ킿\x81Aspace_required\x82́u\x88\xEC\x82ꂽ\x95\xAA\x81v\x82\xF0\x95\\x82\xB7\x81B
+	//
+	//                                               space_required
+	//                 <----- buflen -------------><-------->
+	// buf->bufdata -> +--------------------------+
+	//                 |XXXXXXXXXXXXXXXXX         |
+	//                 +--------------------------+ 
+	//                 <----------------><------------------>
+	//                   buf->datalen            len
+	//                 ^
+	//                 |
+	//                 buf->datastart
 	space_required = max(0, buf->datalen + len - buf->buflen);
 	amount_to_write_from_buffer = min(buf->datalen, space_required);
 



Ttssh2-commit メーリングリストの案内
アーカイブの一覧に戻る