Constructor
new VirtualResource(system, nameopt, holdCapacityopt, timeoutopt, waitCapacityopt, queueWaitopt, logopt)
Parameters:
-
Objectsystem仮想システム(シミュレーション中の現在時刻取得等に用いる)
-
String <optional> "unlimited"nameリソース名("unlimited"はリソース解放待ちを管理しない)
-
Number <optional> 1.0holdCapacity保有リソース総量(数)
-
Number <optional> 10秒timeout処理のタイムアウト時間(未使用)
-
Number <optional> Number.MAX_SAFE_INTEGERwaitCapacityリソース取得待ちキューの深さ(数)、キュー溢れ時は即時エラー終了しリソース処理しない
-
Number <optional> 10秒queueWait最大キュー滞留時間(リソース取得待ちタイムアウト時間)
-
Boolean <optional> falselog詳細ログ出力有無
Methods
(static) VirtualResource#_finish(system, logIDopt, logMesseageopt, forceTime) → {null}
イベント終了時処理(リソースが管理しているvAppをfinishさせる(強制終了させ処理中vAppはTATログ出力する)
Parameters:
-
ObjectsystemVirtualSystem
-
String <optional> "N_000"logIDログID(ログメッセージの先頭文字)
-
String <optional> ""logMesseageログメッセージ
-
NumberforceTime強制終了時刻を指定する(ミシュレーション停止後のeTat強制出力用)
Returns:
- null
(static) VirtualResource#free(vApp, isHoldingopt) → {Array}
引数vAppが使用していたリソースを解放する
Parameters:
-
ObjectvAppリソースにfree要求する仮想AP
-
Boolean <optional> trueisHolding該当vAppが自リソースをholdしているか否か
false指定時、指定vAppはリソースをholdしていない前提で、hold vApp一覧からの削除処理を行わない
Returns:
-
Array
スケジューラに登録するイベントの配列([vApp] | [])
(static) VirtualResource#getTime() → {Number}
イベント時刻を返却する
Returns:
-
Number
イベント時刻(UNIX時刻:ミリ秒)
(static) VirtualResource#hold(system, vApp) → {Objcet}
リソースを取得する
Parameters:
-
ObjectsystemVirtualSystem
-
ObjectvAppリソースにhold要求する仮想AP
Returns:
-
Objcet
処理結果{result:boolean, events:Array}
{boolean} result : true:正常(リソース取得、取得待ち、取得不要)、false:エラー(リソース枯渇E_QOF))
{Array} :events リソース取得後、スケジューラに登録するイベントの配列
[vApp]: リソースを取得できたとき、もしくはリソース枯渇時でvApp再処理の場合、スケジュール対象の vApp が登録された配列[vApp]を返却
[]: リソース待ちに登録されたとき、既にリソースが管理するスケジューラに登録さているので、空の配列[]を返却
もしくはリソース枯渇時で繰返し完了時、再スケジュールしないので[]を返却
(static) VirtualResource#next(system) → {Array}
タイムアウトチェック用仮想イベント
Parameters:
-
ObjectsystemVirtualSystem
Returns:
-
Array
再スケジュールするイベント(仮想アプリケーションorリソース)の配列、登録処理完了時はthisを含まない
(static) VirtualResource#release(vApp) → {Object|undefined}
引数vAppをリソース開放待ちキューからリリースする
Parameters:
-
ObjectvAppリリースする仮想AP
Returns:
-
Object
|
undefined
リリースした仮想AP
(static) VirtualResource#start(startTime, system) → {Object}
リソースチェックイベント(タイムアウトチェック)を開始する
Parameters:
-
NumberstartTime開始時刻(UNIX時刻:ミリ秒)
-
ObjectsystemVirtualSystem
Returns:
-
Object
イベント(this)