• R/O
  • HTTP
  • SSH
  • HTTPS

bandwidth: Commit

Java用帯域制限ライブラリ


Commit MetaInfo

Revision7241d48283213d9fa719d036d28f8b757fe1d6ac (tree)
Time2009-07-27 16:21:01
AuthorSenju Higurashi <senju@user...>
CommiterSenju Higurashi

Log Message

javadoc修正

Change Summary

Incremental Difference

--- a/src/net/excentrics/bandWidth/SocketChannelWriter.java
+++ b/src/net/excentrics/bandWidth/SocketChannelWriter.java
@@ -24,6 +24,8 @@ import java.nio.channels.SocketChannel;
2424 * <p>
2525 * java.nio.SocketChannelの送信帯域を制限するためのクラスです。
2626 * <p>
27+ * SocketChannelを生成する際に非ブロッキングモードで生成した場合、このクラスのすべてのメソッド呼び出しはブロックしません。
28+ * <p>
2729 * 全てのメソッドはスレッドセーフでは<b>ありません。</b>
2830 * <p>
2931 * 受信の帯域を制限する機能は現在実装されていません。
@@ -40,6 +42,8 @@ import java.nio.channels.SocketChannel;
4042 * sleep(nextTime);
4143 * }
4244 * </pre>
45+ * <p>
46+ * 詳しい使い方についてはソース付属のサンプルおよびjava.nioパッケージのドキュメントを参照してください。
4347 *
4448 */
4549
@@ -73,8 +77,11 @@ public class SocketChannelWriter {
7377
7478 /**
7579 * 制限速度を変更します。
80+ * <p>
81+ * 既に送出が開始されているSocketChannelWriterの制限速度を変更することも可能です。
7682 *
7783 * @param bandWidth
84+ * 新しい制限速度(bit per second)
7885 */
7986 public void setBandWidth(double bandWidth) {
8087 this.c.setBandWidth(bandWidth);
@@ -84,7 +91,7 @@ public class SocketChannelWriter {
8491 * <p>
8592 * 帯域制限をかけた送出を行います。
8693 * <p>
87- * このメソッド呼び出しがブロックされることはありません。
94+ * 指定されたSocketChannelが非ブロッキングモードの場合、このメソッド呼び出しがブロックされることはありません。
8895 * <p>
8996 * 戻り値は無視しても帯域制限は行われますが、不要なCPUリソースの消費を 避けるためには戻り値を利用してください。
9097 *
@@ -95,13 +102,16 @@ public class SocketChannelWriter {
95102 * <p>
96103 * つまりgetBandWidth() / 8 / 10 以上です。
97104 *
98- * @return 次回このメソッドを呼び出すまでの時間をミリ秒で返します。<br>
99- * つまり 「戻り値ミリ秒」経過してから続きのデータを送出してください。
105+ * @return 待機時間をミリ秒で返します。
106+ * <p>
107+ * 次回のメソッド呼び出しは、待機時間ミリ秒経過した後に行うことが推奨されます。
108+ * つまりXミリ秒経過してから続きのデータを送出してください。
109+ * <p>
110+ * 待機時間以内にこのメソッドを呼び出した場合、0バイト送出を行った後、すぐに戻ります。
111+ * よって適切に帯域制限は行われますが、CPUリソースを無駄に消費します。
100112 * <p>
101- * この戻り値の時間が経過しないうちに再びこのメソッドを呼び出しても
102- * おそらく0バイトの送出が行われます。よって適切に帯域制限は行われますがCPU
103- * リソースを無駄に消費するだけなので、(write()は呼び出されると必ず、何バイト送出
104- * するべきかの計算を行います。)この時間の間送出スレッドをsleep()させるなり の処理を行うことが推奨されます。
113+ * 待機時間以内に次回送出するべきデータをバッファに追加しておき、
114+ * かつ残った待機時間はThread.sleep()し他のスレッドにCPUリソースを明け渡すことを推奨します。
105115 *
106116 *
107117 * @throws IOException
--- a/src/net/excentrics/bandWidth/sample/OneFileWebServer.java
+++ b/src/net/excentrics/bandWidth/sample/OneFileWebServer.java
@@ -28,7 +28,7 @@ import net.excentrics.bandWidth.SocketChannelWriter;
2828
2929 /**
3030 * サンプルのWEBサーバー
31- *
31+ * <p>
3232 * コマンドライン引数
3333 * <table>
3434 * <tr>
Show on old repository browser