net.excentrics.bandWidth
クラス BandWidthController

java.lang.Object
  上位を拡張 net.excentrics.bandWidth.BandWidthController

 class BandWidthController
extends java.lang.Object

このクラスはスロットリングを成功させるため内部的に使用される。

作成者:
hisato

フィールドの概要
private  double bandWidth
           
private  int bytePerCycle
           
private  long cycle
           
private static long defaultCycle
           
private static int defaultSpeedCount
           
private static int min_cycle
           
private  java.util.LinkedList<java.lang.Integer> sizeList
           
private  int speedCount
           
private  java.util.LinkedList<java.lang.Long> timeList
           
 
コンストラクタの概要
BandWidthController()
           
 
メソッドの概要
private  net.excentrics.bandWidth.SizeAndInterval calculationSizeForWrite(int bufferSize)
           
 double getBandWidth()
           
private  double getCurrentBps()
           
 long getCycle()
           
 void postWrite(int writtenSize)
           
 net.excentrics.bandWidth.SizeAndInterval preWrite(int bufferSize)
           
 void setBandWidth(double bandWidth)
           
private  void setBytePerCycle()
           
 void setCycle(long cycle)
           
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

bandWidth

private double bandWidth

timeList

private java.util.LinkedList<java.lang.Long> timeList

sizeList

private java.util.LinkedList<java.lang.Integer> sizeList

cycle

private long cycle

defaultCycle

private static final long defaultCycle
関連項目:
定数フィールド値

bytePerCycle

private int bytePerCycle

defaultSpeedCount

private static final int defaultSpeedCount
関連項目:
定数フィールド値

speedCount

private int speedCount

min_cycle

private static final int min_cycle
関連項目:
定数フィールド値
コンストラクタの詳細

BandWidthController

public BandWidthController()
メソッドの詳細

getBandWidth

public double getBandWidth()

setBandWidth

public void setBandWidth(double bandWidth)
パラメータ:
bandWidth - 帯域をbps(bit per second) で与える。0が与えられた場合帯域制限を行わない。

setBytePerCycle

private void setBytePerCycle()

getCycle

public long getCycle()

setCycle

public void setCycle(long cycle)

preWrite

public net.excentrics.bandWidth.SizeAndInterval preWrite(int bufferSize)
パラメータ:
bufferSize - 使用しているバッファのサイズ
戻り値:
書き込むべきサイズ(byte)、および次回呼び出しまでの間隔(ミリ秒)を返す

postWrite

public void postWrite(int writtenSize)
               throws net.excentrics.bandWidth.AsymmetricalCallException
パラメータ:
writtenSize - 実際に書き込まれたサイズ
例外:
net.excentrics.bandWidth.AsymmetricalCallException - preWriteを呼び出す前にpostWriteが呼ばれた時

calculationSizeForWrite

private net.excentrics.bandWidth.SizeAndInterval calculationSizeForWrite(int bufferSize)
戻り値:
スロットリングを成功させるために書き込まれるべきサイズをバイトで返す。 また、次の書き込みまでの期間をミリ秒で返す。 書き込むサイズに制限が必要ない場合は-1を返す。

getCurrentBps

private double getCurrentBps()