Class: VirtualResource

VirtualResource

仮想リソース

Constructor

src/simulator/simulator-VirtualResource.js, line 2

new VirtualResource(system, nameopt, holdCapacityopt, timeoutopt, waitCapacityopt, queueWaitopt, logopt)

Parameters:
  • system Object
    仮想システム(シミュレーション中の現在時刻取得等に用いる)
  • name String <optional> "unlimited"
    リソース名("unlimited"はリソース解放待ちを管理しない)
  • holdCapacity Number <optional> 1.0
    保有リソース総量(数)
  • timeout Number <optional> 10秒
    処理のタイムアウト時間(未使用)
  • waitCapacity Number <optional> Number.MAX_SAFE_INTEGER
    リソース取得待ちキューの深さ(数)、キュー溢れ時は即時エラー終了しリソース処理しない
  • queueWait Number <optional> 10秒
    最大キュー滞留時間(リソース取得待ちタイムアウト時間)
  • log Boolean <optional> false
    詳細ログ出力有無

Methods

src/simulator/simulator-VirtualResource.js, line 309

(static) VirtualResource#_finish(system, logIDopt, logMesseageopt, forceTime) → {null}

イベント終了時処理(リソースが管理しているvAppをfinishさせる(強制終了させ処理中vAppはTATログ出力する)
Parameters:
  • system Object
    VirtualSystem
  • logID String <optional> "N_000"
    ログID(ログメッセージの先頭文字)
  • logMesseage String <optional> ""
    ログメッセージ
  • forceTime Number
    強制終了時刻を指定する(ミシュレーション停止後のeTat強制出力用)
Returns:
  • null
src/simulator/simulator-VirtualResource.js, line 242

(static) VirtualResource#free(vApp, isHoldingopt) → {Array}

引数vAppが使用していたリソースを解放する
Parameters:
  • vApp Object
    リソースにfree要求する仮想AP
  • isHolding Boolean <optional> true
    該当vAppが自リソースをholdしているか否か
    false指定時、指定vAppはリソースをholdしていない前提で、hold vApp一覧からの削除処理を行わない
Returns:
  • Array
    スケジューラに登録するイベントの配列([vApp] | [])
src/simulator/simulator-VirtualResource.js, line 94

(static) VirtualResource#getTime() → {Number}

イベント時刻を返却する
Returns:
  • Number
    イベント時刻(UNIX時刻:ミリ秒)
src/simulator/simulator-VirtualResource.js, line 193

(static) VirtualResource#hold(system, vApp) → {Objcet}

リソースを取得する
Parameters:
  • system Object
    VirtualSystem
  • vApp Object
    リソースにhold要求する仮想AP
Returns:
  • Objcet
    処理結果{result:boolean, events:Array}
    {boolean} result : true:正常(リソース取得、取得待ち、取得不要)、false:エラー(リソース枯渇E_QOF))
    {Array} :events リソース取得後、スケジューラに登録するイベントの配列
    [vApp]: リソースを取得できたとき、もしくはリソース枯渇時でvApp再処理の場合、スケジュール対象の vApp が登録された配列[vApp]を返却
    []: リソース待ちに登録されたとき、既にリソースが管理するスケジューラに登録さているので、空の配列[]を返却
    もしくはリソース枯渇時で繰返し完了時、再スケジュールしないので[]を返却
src/simulator/simulator-VirtualResource.js, line 106

(static) VirtualResource#next(system) → {Array}

タイムアウトチェック用仮想イベント
Parameters:
  • system Object
    VirtualSystem
Returns:
  • Array
    再スケジュールするイベント(仮想アプリケーションorリソース)の配列、登録処理完了時はthisを含まない
src/simulator/simulator-VirtualResource.js, line 287

(static) VirtualResource#release(vApp) → {Object|undefined}

引数vAppをリソース開放待ちキューからリリースする
Parameters:
  • vApp Object
    リリースする仮想AP
Returns:
  • Object | undefined
    リリースした仮想AP
src/simulator/simulator-VirtualResource.js, line 81

(static) VirtualResource#start(startTime, system) → {Object}

リソースチェックイベント(タイムアウトチェック)を開始する
Parameters:
  • startTime Number
    開始時刻(UNIX時刻:ミリ秒)
  • system Object
    VirtualSystem
Returns:
  • Object
    イベント(this)