FIWARE Device Simulator ライブラリ

FIWARE Device Simulator ライブラリ は ./bin ディレクトリにあります。これは、以下のもので構成されています :

  1. メイン ./lib/fiwareDeviceSimulator.js ファイル。以下の機能を公開します :
    1. start(): これは、シミュレーション構成 JSON オブジェクトを取得し、次のイベントの通知をクライアントに返す EventEmitter のインスタンスを返します :
      • token-request: 新しい認可トークンが要求されるたびに。このイベント発生の追加情報としてイベントオブジェクトは渡されません
      • token-response: 新しい認可トークンを受け取るたびに。渡されたイベントには次のプロパティが含まれます :
          • expires_at: 有効期限
      • token-request-scheduled: 新しい認可トークンのリクエストがスケジュールされるたびに。渡されたイベントには、次のプロパティが含まれます :
        • scheduled_at: 予定日
      • update-scheduled: 新しいエンティティ更新がスケジュールされるたびに。渡されたイベントには、次のプロパティが含まれます :
        • schedule: スケジュール
        • entity: 更新されるエンティティに関する情報
        • attributes: 更新される属性
    2. update-request: 新しいエンティティ更新がリクエストされるたびに。渡されたイベントには、次のプロパティが含まれます :
      • request: 更新リクエストの詳細
    3. update-response: 新しいエンティティ更新のレスポンスが受信されるたびに。渡されたイベントには、次のプロパティが含まれます :
      • request: 更新リクエストの詳細
      • response: 受信した更新のレスポンスのボディ
    4. info: 一般的にシミュレーションの進化を知らせる情報イベント。渡されたイベントには、次のプロパティが含まれます :
      • message: 情報メッセージ
    5. progress-info: 実行中のシミュレーションに関する進捗情報。渡されたイベントには、次のプロパティが含まれます :
      • updatesProcessed: 処理された更新の総数
      • updatesRequested: 送信された更新リクエストの数
      • delayedUpdateRequests: 遅延された更新リクエストの数
      • errorUpdateRequests: 誤った更新リクエストの数
      • elapsedTime: 実際の経過時間
      • simulatedElapsedTime: 早送りシミュレーションの場合のシミュレーション時間
      • updateJobs: スケジュールされた更新リクエストの配列
      • clock: 早送りシミュレーションの場合に lolex によって返される、lolex NPM パッケージ clock
    6. error: エラーが発生するたびに。渡されたイベントには、次のプロパティが含まれます :
      • error: エラー
      • request: オプションの関連リクエスト。オプション
    7. stop: シミュレーションが停止するたびに。このイベント・オカレンスの追加情報としてイベント・オブジェクトは渡されません
    8. end: シミュレーションが終了するたびに。このイベント・オカレンスの追加情報としてイベントオブジェクトは渡されません
    9. stop(): 現在実行中のシミュレーションがあれば停止し、stop イベントを発行します
  2. ./lib/validators/fiwareDeviceSimulatorValidator.js ファイル。以下の機能を公開します :
    • validateConfiguration: シミュレーション構成オブジェクトを入力として非同期的に検証するとともに、シミュレーション構成オブジェクトが有効でない場合の問題に関する詳細情報とともにエラー・オブジェクトを渡して検証が完了すると呼び出されるコールバックを入力として受け取ります
  3. ./lib/errors ディレクトリに含まれます :
    1. fdsErrors.js ファイル。これには、デバイスのシミュレーションの実行中に送信される可能性のあるエラーが含まれます
  4. ./lib/interpolators ディレクトリに含まれます :
    1. attributeFunctionInterpolator.js ファイル。attribute-function-interpolator 属性値のリゾルバを実装しています
    2. dateIncrementInterpolator.js ファイル。date-increment-interpolator 属性値のリゾルバを実装しています
    3. The linearInterpolator.js file. It implements the time-linear-interpolator attribute value resolver.
    4. multilinePositionInterpolator.js ファイル。multiline-position-interpolator 属性値のリゾルバを実装しています
    5. randomLinearInterpolator.js ファイル。time-random-linear-interpolator 属性値のリゾルバを実装しています
    6. stepAfterInterpolator.js ファイル。time-step-after-interpolator 属性値のリゾルバを実装しています
    7. stepBeforeInterpolator.js ファイル。time-step-before-interpolator 属性値のリゾルバを実装しています
    8. textRotationInterpolator.js ファイル。text-rotation-interpolator 属性値のリゾルバを実装しています