Java用帯域制限ライブラリ
Revision | 7241d48283213d9fa719d036d28f8b757fe1d6ac (tree) |
---|---|
Time | 2009-07-27 16:21:01 |
Author | Senju Higurashi <senju@user...> |
Commiter | Senju Higurashi |
javadoc修正
@@ -24,6 +24,8 @@ import java.nio.channels.SocketChannel; | ||
24 | 24 | * <p> |
25 | 25 | * java.nio.SocketChannelの送信帯域を制限するためのクラスです。 |
26 | 26 | * <p> |
27 | + * SocketChannelを生成する際に非ブロッキングモードで生成した場合、このクラスのすべてのメソッド呼び出しはブロックしません。 | |
28 | + * <p> | |
27 | 29 | * 全てのメソッドはスレッドセーフでは<b>ありません。</b> |
28 | 30 | * <p> |
29 | 31 | * 受信の帯域を制限する機能は現在実装されていません。 |
@@ -40,6 +42,8 @@ import java.nio.channels.SocketChannel; | ||
40 | 42 | * sleep(nextTime); |
41 | 43 | * } |
42 | 44 | * </pre> |
45 | + * <p> | |
46 | + * 詳しい使い方についてはソース付属のサンプルおよびjava.nioパッケージのドキュメントを参照してください。 | |
43 | 47 | * |
44 | 48 | */ |
45 | 49 |
@@ -73,8 +77,11 @@ public class SocketChannelWriter { | ||
73 | 77 | |
74 | 78 | /** |
75 | 79 | * 制限速度を変更します。 |
80 | + * <p> | |
81 | + * 既に送出が開始されているSocketChannelWriterの制限速度を変更することも可能です。 | |
76 | 82 | * |
77 | 83 | * @param bandWidth |
84 | + * 新しい制限速度(bit per second) | |
78 | 85 | */ |
79 | 86 | public void setBandWidth(double bandWidth) { |
80 | 87 | this.c.setBandWidth(bandWidth); |
@@ -84,7 +91,7 @@ public class SocketChannelWriter { | ||
84 | 91 | * <p> |
85 | 92 | * 帯域制限をかけた送出を行います。 |
86 | 93 | * <p> |
87 | - * このメソッド呼び出しがブロックされることはありません。 | |
94 | + * 指定されたSocketChannelが非ブロッキングモードの場合、このメソッド呼び出しがブロックされることはありません。 | |
88 | 95 | * <p> |
89 | 96 | * 戻り値は無視しても帯域制限は行われますが、不要なCPUリソースの消費を 避けるためには戻り値を利用してください。 |
90 | 97 | * |
@@ -95,13 +102,16 @@ public class SocketChannelWriter { | ||
95 | 102 | * <p> |
96 | 103 | * つまりgetBandWidth() / 8 / 10 以上です。 |
97 | 104 | * |
98 | - * @return 次回このメソッドを呼び出すまでの時間をミリ秒で返します。<br> | |
99 | - * つまり 「戻り値ミリ秒」経過してから続きのデータを送出してください。 | |
105 | + * @return 待機時間をミリ秒で返します。 | |
106 | + * <p> | |
107 | + * 次回のメソッド呼び出しは、待機時間ミリ秒経過した後に行うことが推奨されます。 | |
108 | + * つまりXミリ秒経過してから続きのデータを送出してください。 | |
109 | + * <p> | |
110 | + * 待機時間以内にこのメソッドを呼び出した場合、0バイト送出を行った後、すぐに戻ります。 | |
111 | + * よって適切に帯域制限は行われますが、CPUリソースを無駄に消費します。 | |
100 | 112 | * <p> |
101 | - * この戻り値の時間が経過しないうちに再びこのメソッドを呼び出しても | |
102 | - * おそらく0バイトの送出が行われます。よって適切に帯域制限は行われますがCPU | |
103 | - * リソースを無駄に消費するだけなので、(write()は呼び出されると必ず、何バイト送出 | |
104 | - * するべきかの計算を行います。)この時間の間送出スレッドをsleep()させるなり の処理を行うことが推奨されます。 | |
113 | + * 待機時間以内に次回送出するべきデータをバッファに追加しておき、 | |
114 | + * かつ残った待機時間はThread.sleep()し他のスレッドにCPUリソースを明け渡すことを推奨します。 | |
105 | 115 | * |
106 | 116 | * |
107 | 117 | * @throws IOException |
@@ -28,7 +28,7 @@ import net.excentrics.bandWidth.SocketChannelWriter; | ||
28 | 28 | |
29 | 29 | /** |
30 | 30 | * サンプルのWEBサーバー |
31 | - * | |
31 | + * <p> | |
32 | 32 | * コマンドライン引数 |
33 | 33 | * <table> |
34 | 34 | * <tr> |