MAGONIA API 仕様書(分散処理基盤編) 第1版 日本電信電話株式会社 2015 年 2 月 19 日 © Copyright 2014 目次 1. はじめに ......................................................................................................................................................... 1 1.1. 本資料の位置づけ .......................................................................................................................................... 1 1.2. 本資料の構成 ............................................................................................................................................... 1 2. ネームスペース ................................................................................................................................................ 2 2.1. xnode ........................................................................................................................................................ 2 2.2. xnode::distributedprocessingbase ................................................................................................................. 3 2.3. xnode::distributedprocessingbase::cmnp ....................................................................................................... 4 2.4. xnode::distributedprocessingbase::comc ....................................................................................................... 5 2.5. xnode::distributedprocessingbase::common .................................................................................................. 6 2.6. xnode::distributedprocessingbase::dtct ......................................................................................................... 9 2.7. xnode::distributedprocessingbase::gmbc ..................................................................................................... 11 2.8. xnode::distributedprocessingbase::logm...................................................................................................... 12 2.9. xnode::distributedprocessingbase::msdp ..................................................................................................... 14 2.10. xnode::distributedprocessingbase::mspr ..................................................................................................... 15 2.11. xnode::distributedprocessingbase::odtm ..................................................................................................... 16 3. クラス .......................................................................................................................................................... 17 3.1. xnode::distributedprocessingbase::cmnp::BufferPool .................................................................................... 17 3.2. xnode::distributedprocessingbase::cmnp::BufferPoolMng .............................................................................. 19 3.3. xnode::distributedprocessingbase::dtct::Ddc ............................................................................................... 21 3.4. xnode::distributedprocessingbase::mspr::DefaultDataListener ....................................................................... 36 3.5. xnode::distributedprocessingbase::msdp::DispatcherInterface ....................................................................... 39 3.6. xnode::distributedprocessingbase::DispatchKey ........................................................................................... 41 3.7. xnode::distributedprocessingbase::common::DistributedException ................................................................. 45 3.8. xnode::distributedprocessingbase::mspr::IApplicationListener ....................................................................... 48 3.9. xnode::distributedprocessingbase::mspr::IAsyncTaskListener ........................................................................ 52 3.10. xnode::distributedprocessingbase::mspr::IDataListener ................................................................................ 53 3.11. xnode::distributedprocessingbase::mspr::IFactoryListener ............................................................................ 57 3.12. xnode::distributedprocessingbase::odtm::LocalDdcIdIterator......................................................................... 59 3.13. xnode::distributedprocessingbase::logm::LogMng ........................................................................................ 60 3.14. xnode::distributedprocessingbase::gmbc::MemberControlInterface ................................................................ 64 3.15. xnode::distributedprocessingbase::odtm::OriginalDataInterface..................................................................... 67 3.16. xnode::distributedprocessingbase::mspr::ProcessorInterface......................................................................... 73 3.17. xnode::distributedprocessingbase::Socket ................................................................................................... 79 3.18. xnode::distributedprocessingbase::comc::TcpConnectionMng ........................................................................ 81 3.19. xnode::distributedprocessingbase::cmnp::ThreadPool................................................................................... 84 3.20. xnode::distributedprocessingbase::cmnp::ThreadPoolMng............................................................................. 92 3.21. xnode::distributedprocessingbase::cmnp::TimerMng .................................................................................... 95 3.22. xnode::distributedprocessingbase::comc::UdpControl ................................................................................. 101 4. ファイル ..................................................................................................................................................... 103 4.1. aplinit.h ................................................................................................................................................. 103 4.2. BufferPool.hpp ........................................................................................................................................ 104 4.3. BufferPoolMng.hpp .................................................................................................................................. 105 4.4. datacontainer.h ....................................................................................................................................... 106 4.5. dispatcher.h ............................................................................................................................................ 107 4.6. DistributedException.hpp ......................................................................................................................... 108 © Copyright 2014 4.7. distributedprocessingbase.h ..................................................................................................................... 109 4.8. LogMng.hpp ........................................................................................................................................... 110 4.9. membercontrol.h .................................................................................................................................... 114 4.10. originaldata.h ......................................................................................................................................... 115 4.11. processor.h ............................................................................................................................................. 116 4.12. TcpConnectionMng.hpp ............................................................................................................................ 117 4.13. ThreadPool.hpp ....................................................................................................................................... 118 4.14. ThreadPoolMng.hpp ................................................................................................................................. 119 4.15. TimerMng.hpp ........................................................................................................................................ 120 4.16. UdpControl.hpp ....................................................................................................................................... 121 © Copyright 2014 1. はじめに 1.1. 本資料の位置づけ 本資料では, VNF(分散処理基盤)における分散処理基盤プラットフォームのアプリケーション向け公開 API 仕様について記載する. なお, 分散処理基盤プラットフォームは高可用性ミドルウェア(以降, サーバ基盤と呼称)上で動作することを前提としているが, サーバ 基盤の API 仕様については本書の規定範囲外とする. 図 1-1 VNF(分散処理基盤)の API 仕様規定点 1.2. 本資料の構成 2 章 ネームスペースでは,分散処理基盤プラットフォームがアプリケーションに公開するネームスペース及び各ネームスペース配下に 定義されるネームスペース,クラス,列挙型,変数等について記載する. 3 章 クラスでは,分散処理基盤プラットフォームがアプリケーションに公開するクラスおよび各クラスの公開メソッド,列挙型等につ いて記載する. 4 章 ファイルでは,分散処理基盤プラットフォームがアプリケーション開発者に公開するヘッダファイルおよび各ヘッダファイルに定 義されるインクルードファイル,ネームスペース,クラス,クラス外の関数,マクロ定義等について記載する. 1 Copyright © 2014 2. ネームスペース 2.1. xnode 分散処理基盤システムの基本名前空間. 2.1.1. ネームスペース一覧 distributedprocessingbase 分散処理基盤の名前空間. 2.1.2. クラス一覧 なし. 2.1.3. 列挙型 なし. 2.1.4. 変数 なし. 2 Copyright © 2014 2.2. xnode::distributedprocessingbase 分散処理基盤の名前空間. 2.2.1. ネームスペース一覧 cmnp 共通部品 FB の名前空間. comc 通信制御 FB の名前空間. common common の名前空間. dtct データコンテナ FB の名前空間. gmbc メンバ制御 FB の名前空間. logm ログ管理 FB の名前空間. msdp 振り分け制御 FB の名前空間. mspr 実行制御 FB の名前空間. odtm 原本データ管理 FB の名前空間. 2.2.2. クラス一覧 class DispatchKey 振り分けキーデータを保持するクラス. class Socket バッファリング処理を隠蔽するためのソケットクラス. 2.2.3. 列挙型 なし. 2.2.4. 変数 なし. 3 Copyright © 2014 2.3. xnode::distributedprocessingbase::cmnp 共通部品 FB の名前空間. 2.3.1. ネームスペース一覧 なし. 2.3.2. クラス一覧 class BufferPool バッファプールクラス. class BufferPoolMng バッファプールマネージャクラス. class ThreadPool スレッドプールクラス. class ThreadPoolMng スレッドプールマネージャクラス. class TimerMng タイママネージャクラス. 2.3.3. 列挙型 enum xnode::distributedprocessingbase::cmnp::ERegisterKind 登録者種別. 列挙型の値 registerApl APL registerMdl MDL registerInvalid 無効 2.3.4. 変数 なし. 4 Copyright © 2014 2.4. xnode::distributedprocessingbase::comc 通信制御 FB の名前空間. 2.4.1. ネームスペース一覧 なし. 2.4.2. クラス一覧 class TcpConnectionMng TCP コネクション管理クラス. class UdpControl UDP 通信制御クラス. 2.4.3. 列挙型 なし. 2.4.4. 変数 なし. 5 Copyright © 2014 2.5. xnode::distributedprocessingbase::common common の名前空間. 2.5.1. ネームスペース一覧 なし. 2.5.2. クラス一覧 class DistributedException 分散処理基盤がスローする APL 向け共通例外クラス. 2.5.3. 列挙型 enum xnode::distributedprocessingbase::common::FunctionBlock FBを表わす列挙型. 列挙型の値 fbApplication アプリケーション fbClusteringManager クラスタ構成管理 fbGenericMemberController メンバ制御 fbCoordinatorController コーディネータ制御 fbMutualWatchKeeper 他メンバ監視 fbEventDistributor イベント制御 fbMessageDispatcher 振り分け制御 fbMessageProcessor 実行制御 fbDataContainer データコンテナ fbOriginalDataManager 原本データ管理 fbReplicaDataManager 複製データ管理 fbDataRelocator データ再配置制御 fbLockManager ロック管理 fbCommunicationCtrl 通信制御 fbCommonParts 共通部品 enum xnode::distributedprocessingbase::common::SvApiNumber サーバ基盤API番号を表わす列挙型. 列挙型の値 svApiNum_init_a_level レベル A 初期化 svApiNum_init_b_level レベル B 初期化 svApiNum_init_c_level レベル C 初期化 svApiNum_init_d_level レベル D 初期化 svApiNum_init_e_level レベル E 初期化 svApiNum_svRsmRequestStopServer サーバ停止要求 svApiNum_svRsmRegisterServerStopEntry 停止通知時 Callback 登録 6 Copyright © 2014 列挙型の値 svApiNum_svThrCreateThread スレッド生成 svApiNum_svThrStartThread スレッド起動 svApiNum_svThrCreateStartThread スレッド生成起動 svApiNum_svThrExitDeleteThread スレッド終了 svApiNum_svThrTerminateThread 他スレッド強制終了 svApiNum_svThrGetSelfThreadId 自スレッド ID 取得 svApiNum_svThrCreateThreadPool スレッドプール生成 svApiNum_svThrDeleteThreadPool スレッドプール削除 svApiNum_svThrStartPoolThread スレッドプールからのスレッド起動 svApiNum_svThrGetThreadNumber スレッドプール利用可能スレッド数の取得 svApiNum_svThrGetThreadPoolId 自スレッド所属スレッドプール ID 取得 svApiNum_svThrRegisterMazeObservation 自スレッドメーズ監視登録 svApiNum_svThrDeleteMazeObservation 自スレッドメーズ監視解除 svApiNum_svThrRegisterOneCallInitParameter 自スレッド個別初期設定用リソース登録 svApiNum_svThrReferOneCallInitParameter 自スレッド個別初期設定用リソース参照 svApiNum_svThrDeleteOneCallInitParameter 自スレッド個別初期設定用リソース登録解除 svApiNum_svThrRegisterMazeParameter 自スレッドメーズ検出時用リソース登録 svApiNum_svThrReferMazeParameter 自スレッドメーズ検出時用リソース参照 svApiNum_svThrDeleteMazeParameter 自スレッドメーズ検出時用リソース登録解除 svApiNum_svThrRegisterOneCallInitEscalation 個別初期設定エスカレーション時 Callback 登録 svApiNum_svThrRegisterMazeEscalation メーズエスカレーション時 Callback 登録 svApiNum_svTcpCreateSocket TCP ソケット生成 svApiNum_svTcpBindSocket TCP ソケットバインド svApiNum_svTcpConnectSocket TCP ソケット接続 svApiNum_svTcpListenSocket TCP ソケット接続待ち svApiNum_svTcpAcceptSocket TCP 接続受付 svApiNum_svTcpSend TCP 送信(単体) svApiNum_svTcpSendMulti TCP 送信(複数指定) svApiNum_svTcpReceive TCP 受信 svApiNum_svTcpShuntDownSocket TCP 遮断 svApiNum_svTcpCloseSocket TCP クローズ svApiNum_svTcpSelect TCP セレクト svApiNum_svTcpSetSocketOption TCP ソケットオプション設定 svApiNum_svTcpGetSocketOption TCP ソケットオプション取得 svApiNum_svUdpCreateSocket UDP ソケット生成 svApiNum_svUdpJoinSocketMulticast UDP ソケットマルチキャスト JOIN svApiNum_svUdpDropSocketMulticast UDP ソケットマルチキャスト DROP svApiNum_svUdpSetSocketMulticastIF UDP マルチキャスト IF 設定 svApiNum_svUdpSendSocketSingle UDP 送信(単体) svApiNum_svUdpSendSocketMulti UDP 送信(複数指定) svApiNum_svUdpReceiveSeocket UDP 受信 svApiNum_svUdpReceiveSeocketAssist UDP 受信(補助データ込み) svApiNum_svUdpSendSocketReplace UDP 送信(送信元アドレス置き換え,単体) svApiNum_svUdpCloseSocket UDP クローズ 7 Copyright © 2014 列挙型の値 svApiNum_svUdpSelectSocket UDP セレクト svApiNum_svUdpSetSocketOption UDP ソケットオプション設定 svApiNum_svUdpGetSocketOption UDP ソケットオプション取得 svApiNum_svPhcRegisterHealthCheck ヘルスチェック登録 svApiNum_svPhcStartHealthCheck ヘルスチェック開始 svApiNum_svPhcStopHealthCheck ヘルスチェック停止 svApiNum_svPhcDeleteHealthCheck ヘルスチェック削除 svApiNum_svTmrRegisterTimer タイマ登録 svApiNum_svTmrCancelTimer タイマ解除 svApiNum_svTmrCancelAllTimer タイマ全解除 svApiNum_svTmrGetTimerList タイマリスト表示 svApiNum_svTmrGetTimerInfo タイマ参照(ID 指定) svApiNum_svTmrGetPoolThreadNumber タイマ用スレッドプール利用可能スレッド数の取得 svApiNum_svClmRegisterHeartbeatInformation ハートビート送信情報登録 svApiNum_svClmStartHeartbeat ハートビート送信開始 svApiNum_svClmStopHeartbeat ハートビート送信停止 svApiNum_svClmDeleteHeartbeatInformation ハートビート送信情報削除 svApiNum_svClmSendHeartbeat ハートビート即時送信 svApiNum_svClmRegisterHeartbeatCallback ハートビート受信時コールバック登録 svApiNum_svSrmGetCpuUtilizationInfo CPU 使用率情報取得 svApiNum_svSrmGetMemoryUtilizationInfo メモリ使用率情報取得 svApiNum_svClrGetClockStatus 時計管理状態取得 svApiNum_svClrRegisterNoticeCallback 時計状態通知用コールバック登録 svApiNum_svCfmRegisterConfig コンフィグ登録 svApiNum_svCfmGetIntegerValue コンフィグ参照(Integer) svApiNum_svCfmGetLongValue コンフィグ参照(Long) svApiNum_svCfmGetStringValue コンフィグ参照(String) svApiNum_svCfmGetBoolValue コンフィグ参照(Bool) svApiNum_svCfmGetIPValue コンフィグ参照(IP アドレス) svApiNum_svCfmGetTimeValue コンフィグ参照(時刻) svApiNum_svTcmStartSurveillance TCP 接続監視開始 svApiNum_svTcmStopSurveillance TCP 接続監視停止 svApiNum_svTcmAcceptSurveillance TCP 接続監視受付開始 svApiNum_svTcmRequestStopSurveillance TCP 接続監視停止要求 2.5.4. 変数 なし. 8 Copyright © 2014 2.6. xnode::distributedprocessingbase::dtct データコンテナ FB の名前空間. 2.6.1. ネームスペース一覧 なし. 2.6.2. クラス一覧 class Ddc 分散処理基盤の管理データである DistributedDataContainer を表すクラス. 2.6.3. 列挙型 なし. 2.6.4. 変数 const std::string xnode::distributedprocessingbase::dtct::classNameBool = "+bool"[static] 属性データ型名 bool型. const std::string xnode::distributedprocessingbase::dtct::classNameDouble = "+double"[static] 属性データ型名 double型. const std::string xnode::distributedprocessingbase::dtct::classNameFloat = "+float"[static] 属性データ型名 float型. const std::string xnode::distributedprocessingbase::dtct::classNameInt = "+int"[static] 属性データ型名 int型. const std::string xnode::distributedprocessingbase::dtct::classNameLong = "+long"[static] 属性データ型名 long型. const std::string xnode::distributedprocessingbase::dtct::classNameLongLong = "+longLong"[static] 属性データ型名 long long型. const std::string xnode::distributedprocessingbase::dtct::classNameString = "+string"[static] 属性データ型名 std::string型. const std::string xnode::distributedprocessingbase::dtct::classNameVecBool = "+vector_bool"[static] 属性データ型名 std::vector<bool>型. 9 Copyright © 2014 const std::string xnode::distributedprocessingbase::dtct::classNameVecDouble = "+vector_double"[static] 属性データ型名 std::vector<double>型. const std::string xnode::distributedprocessingbase::dtct::classNameVecFloat = "+vector_float"[static] 属性データ型名 std::vector<float>型. const std::string xnode::distributedprocessingbase::dtct::classNameVecInt = "+vector_int"[static] 属性データ型名 std::vector<int>型. const std::string xnode::distributedprocessingbase::dtct::classNameVecLong = "+vector_long"[static] 属性データ型名 std::vector<long>型. const std::string xnode::distributedprocessingbase::dtct::classNameVecLongLong = "+vector_longLong"[static] 属性データ型名 std::vector<long long>型. const std::string xnode::distributedprocessingbase::dtct::classNameVecString = "+vector_string"[static] 属性データ型名 std::vector<std::string>型. 10 Copyright © 2014 2.7. xnode::distributedprocessingbase::gmbc メンバ制御 FB の名前空間. 2.7.1. ネームスペース一覧 なし. 2.7.2. クラス一覧 class MemberControlInterface メンバ制御 FB の APL 向けインターフェイスクラス. 2.7.3. 列挙型 なし. 2.7.4. 変数 なし. 11 Copyright © 2014 2.8. xnode::distributedprocessingbase::logm ログ管理 FB の名前空間. 2.8.1. ネームスペース一覧 なし. 2.8.2. クラス一覧 class LogMng LOG 管理クラス. 2.8.3. 列挙型 enum xnode::distributedprocessingbase::logm::ELogApiKind API種別列挙型. 列挙型の値 logApiApl APL logApiMdl MDL enum xnode::distributedprocessingbase::logm::ELogAplTrcLvl APLトレースレベル列挙型. 列挙型の値 logAplTrcLvl1 Level1 logAplTrcLvl2 Level2 enum xnode::distributedprocessingbase::logm::ELogDbgLvl Debugトレースレベル列挙型. 列挙型の値 logDbgLvl1 Level1(ST レベル) logDbgLvl2 Level2(IT レベル) logDbgLvl3 Level3(CT レベル) enum xnode::distributedprocessingbase::logm::ELogDirection 送受信(転送)識別子列挙型. 列挙型の値 logDirectRcv 受信データ logDirectSnd 送信データ logDirectFwd 転送データ ※APL では使用しない 12 Copyright © 2014 enum xnode::distributedprocessingbase::logm::ELogEvtKind イベント識別子列挙型. 列挙型の値 logEvtCri Critical Error logEvtErr Error logEvtWarn Warning logEvtInfo Information logEvtDbg Debug enum xnode::distributedprocessingbase::logm::ELogPointKind API開始/終了識別子列挙型. 列挙型の値 logPointApiSta API 開始 logPointApiEnd API 終了 enum xnode::distributedprocessingbase::logm::ELogSigKind 信号種別列挙型. 列挙型の値 logSigMaint 保守機構対向 logSigCntrl 制御イベント ※APL では使用しない logSigDudp D 信号(UDP) ※APL では使用しない logSigDtcp D 信号(TCP) ※APL では使用しない logSigPudp P 信号(UDP) logSigPtcp P 信号(TCP) 2.8.4. 変数 なし. 13 Copyright © 2014 2.9. xnode::distributedprocessingbase::msdp 振り分け制御 FB の名前空間. 2.9.1. ネームスペース一覧 なし. 2.9.2. クラス一覧 class DispatcherInterface 振り分け制御 FB の APL 向けインターフェイスクラス. 2.9.3. 列挙型 なし. 2.9.4. 変数 なし. 14 Copyright © 2014 2.10. xnode::distributedprocessingbase::mspr 実行制御 FB の名前空間. 2.10.1. ネームスペース一覧 なし. 2.10.2. クラス一覧 class IAsyncTaskListener 非同期タスク実行用のリスナ基底クラス. class IApplicationListener D 及び PS-APL 処理用のリスナ基底クラス. class IFactoryListener APL のリスナクラス生成用リスナ基底クラス. class IDataListener DDC データに関する APL 処理用リスナ基底クラス. class DefaultDataListener IDataListener のデフォルト実装クラス. class ProcessorInterface 実行制御 FB の APL 向けインターフェイスクラス. 2.10.3. 列挙型 なし. 2.10.4. 変数 なし. 15 Copyright © 2014 2.11. xnode::distributedprocessingbase::odtm 原本データ管理 FB の名前空間. 2.11.1. ネームスペース一覧 なし. 2.11.2. クラス一覧 class LocalDdcIdIterator DDCID 取得のイテレータ制御クラス. class OriginalDataInterface 原本データ管理 FB の APL 向けインターフェイスクラス. 2.11.3. 列挙型 enum xnode::distributedprocessingbase::odtm::ReplicationMode レプリケーションモード. 列挙型の値 async 非同期モード(複製の成否を待たずに応答) sync1Phase 同期 1 相モード(全ての複製の成功後に応答, 1 つでも失敗すると不整合) sync2Phase 同期 2 相モード(全ての複製の成功後に応答, 1 つでも失敗すると全て巻き戻し) 2.11.4. 変数 なし. 16 Copyright © 2014 3. クラス 3.1. xnode::distributedprocessingbase::cmnp::BufferPool バッファプールクラス. "BufferPool.hpp"で定義される. 3.1.1. Public メソッド一覧 void alloc (void *&aBufferPtr) throw (common::DistributedException) void free (void *aBufferPtr) throw (common::DistributedException) 3.1.2. Static Public メソッド一覧 なし. 3.1.3. 列挙型 なし. 3.1.4. メソッド void xnode::distributedprocessingbase::cmnp::BufferPool::alloc (void *& aBufferPtr) throw common::DistributedException) バッファ捕捉. バッファプールマネージャクラスで生成したバッファプールから, 空いている 1 面分のバッファを捕捉する. 引数: aBufferPtr OUT:バッファポインタ 例外: internalError 処理異常発生 戻り値: なし. 補足: 空いているバッファが存在しない場合, 例外(internalError)をthrowする. 17 Copyright © 2014 void xnode::distributedprocessingbase::cmnp::BufferPool::free (void * aBufferPtr) throw common::DistributedException) バッファ解放. alloc で捕捉したバッファの 1 面を解放する. 引数: aBufferPtr IN:バッファポインタ 例外: invalidArgument パラメータ異常 internalError 処理異常発生 戻り値: なし. 補足: 管理外のバッファを解放しようとした場合, 例外(internalError)をthrowする. 18 Copyright © 2014 3.2. xnode::distributedprocessingbase::cmnp::BufferPoolMng バッファプールマネージャクラス. "BufferPoolMng.hpp"で定義される. 3.2.1. Public メソッド一覧 void create (int aBufferNum, size_t aBufferSize, const void *aClassOidPtr, BufferPool *&aBufferPoolPtr) throw (common::DistributedException) void release (BufferPool *aBufferPoolPtr) throw (common::DistributedException) 3.2.2. Static Public メソッド一覧 static BufferPoolMng & getInstance (void) 3.2.3. 列挙型 なし. 3.2.4. メソッド void xnode::distributedprocessingbase::cmnp::BufferPoolMng::create (int aBufferNum, size_t aBufferSize, const void * aClassOidPtr, BufferPool *& aBufferPoolPtr) throw common::DistributedException) バッファプールインスタンス生成. バッファプールクラスのインスタンスを生成して返却すると共に, 本クラス内部で管理する. 引数: aBufferNum IN:バッファ面数 aBufferSize IN:バッファ 1 面サイズ aClassOidPtr IN:生成元クラスインスタンス aBufferPoolPtr OUT:バッファプールクラスインスタンス 例外: invalidArgument パラメータ異常 internalError 処理異常発生 戻り値: なし. 補足: 一度に面数*1面サイズのメモリ領域確保し, バッファプールクラスで管理する. 本メソッドで生成したバッファプールクラスのインスタンスは, releaseメソッドで解放すること(deleteでの解放は不 注意: 可). aClassOidPtrは障害解析用として使用する(thisポインタを設定する). 19 Copyright © 2014 static BufferPoolMng& xnode::distributedprocessingbase::cmnp::BufferPoolMng::getInstance (void )[static] バッファプールマネージャクラスインスタンス取得. バッファプールマネージャクラス唯一のインスタンス取得する. 引数: なし. 戻り値: バッファプールマネージャクラスインスタンス. void xnode::distributedprocessingbase::cmnp::BufferPoolMng::release (BufferPool * aBufferPoolPtr) throw common::DistributedException) バッファプールインスタンス解放. 本クラス内部で管理しているバッファプールクラスのインスタンスを解放する. 引数: aBufferPoolPtr IN:バッファプールクラスインスタンス 例外: internalError 処理異常発生 戻り値: なし. 補足: 管理外のバッファプールクラスインスタンスを指定した場合, 例外(internalError)をthrowする. 20 Copyright © 2014 3.3. xnode::distributedprocessingbase::dtct::Ddc 分散処理基盤の管理データである DistributedDataContainer を表すクラス. "datacontainer.h"で定義される. 3.3.1. Public メソッド一覧 virtual void getDispatchKey (DispatchKey &dispatchKey)=0 virtual void getKeyList (std::vector< std::string > &keyList)=0 virtual void setAttribute (const std::string &key, int value)=0 throw (common::DistributedException) throw (common::DistributedException) virtual void setAttribute (const std::string &key, long value)=0 throw (common::DistributedException) virtual void setAttribute (const std::string &key, long long value)=0 virtual void setAttribute (const std::string &key, float value)=0 throw (common::DistributedException) virtual void setAttribute (const std::string &key, double value)=0 virtual void setAttribute (const std::string &key, bool value)=0 throw (common::DistributedException) throw (common::DistributedException) throw (common::DistributedException) virtual void setAttribute (const std::string &key, const std::string &value, bool checkBinaryDiff=false)=0 throw (common::DistributedException) virtual void setAttribute (const std::string &key, const std::vector< int > &value, bool checkBinaryDiff=false)=0 throw (common::DistributedException) virtual void setAttribute (const std::string &key, const std::vector< long > &value, bool checkBinaryDiff=false)=0 throw (common::DistributedException) virtual void setAttribute (const std::string &key, const std::vector< long long > &value, bool checkBinaryDiff=false)=0 throw (common::DistributedException) virtual void setAttribute (const std::string &key, const std::vector< float > &value, bool checkBinaryDiff=false)=0 throw (common::DistributedException) virtual void setAttribute (const std::string &key, const std::vector< double > &value, bool checkBinaryDiff=false)=0 throw (common::DistributedException) virtual void setAttribute (const std::string &key, const std::vector< bool > &value, bool checkBinaryDiff=false)=0 throw (common::DistributedException) virtual void setAttribute (const std::string &key, const std::vector< std::string > &value, bool checkBinaryDiff=false)=0 throw (common::DistributedException) virtual void setSerializedData (const std::string &key, const std::string &value, const std::string &className, bool checkBinaryDiff=false)=0 throw (common::DistributedException) virtual void removeAttribute (const std::string &key)=0 throw (common::DistributedException) virtual void getClassName (const std::string &key, std::string &className)=0 virtual void getAttribute (const std::string &key, int &value)=0 virtual void getAttribute (const std::string &key, long &value)=0 throw (common::DistributedException) throw (common::DistributedException) virtual void getAttribute (const std::string &key, long long &value)=0 virtual void getAttribute (const std::string &key, float &value)=0 throw (common::DistributedException) throw (common::DistributedException) virtual void getAttribute (const std::string &key, double &value)=0 virtual void getAttribute (const std::string &key, bool &value)=0 throw (common::DistributedException) throw (common::DistributedException) throw (common::DistributedException) virtual void getAttribute (const std::string &key, std::string &value)=0 throw (common::DistributedException) virtual void getAttribute (const std::string &key, std::vector< int > &value)=0 throw (common::DistributedException) virtual void getAttribute (const std::string &key, std::vector< long > &value)=0 throw (common::DistributedException) 21 Copyright © 2014 virtual void getAttribute (const std::string &key, std::vector< long long > &value)=0 throw (common::DistributedException) virtual void getAttribute (const std::string &key, std::vector< float > &value)=0 throw (common::DistributedException) virtual void getAttribute (const std::string &key, std::vector< double > &value)=0 throw (common::DistributedException) virtual void getAttribute (const std::string &key, std::vector< bool > &value)=0 throw (common::DistributedException) virtual void getAttribute (const std::string &key, std::vector< std::string > &value)=0 throw (common::DistributedException) virtual void getSerializedData (const std::string &key, std::string &value)=0 throw (common::DistributedException) virtual void addOneTimeTask (std::string &taskId, const std::string &className, int delay, const std::string &extraData)=0 throw (common::DistributedException) virtual void addCyclicTask (std::string &taskId, const std::string &className, int delay, bool fixedRate, const std::vector< int > &interval, const int repeat, const std::string &extraData)=0 virtual void removeTask (const std::string &taskId)=0 throw (common::DistributedException) throw (common::DistributedException) virtual void getTaskIdList (std::vector< std::string > &taskIdList)=0 throw (common::DistributedException) virtual ~Ddc ()=0 3.3.2. Static Public メソッド一覧 なし. 3.3.3. 列挙型 なし. 3.3.4. メソッド virtual xnode::distributedprocessingbase::dtct::Ddc::~Ddc ()[pure virtual] デストラクタ. 引数: なし. 22 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::addCyclicTask (std::string & taskId, const std::string & className, int delay, bool fixedRate, const std::vector< int > & interval, const int repeat, const std::string & extraData) throw common::DistributedException) [pure virtual] 非同期タスク(周期)の登録(救済). 周期的に繰り返し実行される非同期タスクを登録する. 引数: taskId OUT:非同期タスク ID(戻り値格納用) className IN:非同期タスク実行用のリスナクラス名 delay IN:初回満了までの実行待ち時間(単位はミリ秒, 0 とすると即時実行となる) fixedRate IN:動作モード(true:固定頻度, false:固定遅延) interval IN:満了間隔のリスト(単位はミリ秒) repeat IN:満了間隔のリストの繰り返し回数(-1 指定で無限繰り返し) extraData IN:APL 側タスク実装クラスのインスタンス生成に必要な付加情報 例外: invalidArgument パラメータ異常 internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::addOneTimeTask (std::string & taskId, const std::string & className, int delay, const std::string & extraData) throw common::DistributedException) [pure virtual] 非同期タスク(単発)の登録(救済). 1 回だけ実行される非同期タスクを登録する. 引数: taskId OUT:非同期タスク ID(戻り値格納用) className IN:非同期タスク実行用のリスナクラス名 delay IN:初回満了までの実行待ち時間(単位はミリ秒, 0 とすると即時実行となる) extraData IN:APL 側タスク実装クラスのインスタンス生成に必要な付加情報 例外: invalidArgument パラメータ異常 internalError 処理異常発生 戻り値: なし. 23 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, int & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から int の値を取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, long & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から long の値を取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, long long & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から long long の値を取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. 24 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, float & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から float の値を取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, double & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から double の値を取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, bool & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から bool の値を取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. 25 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, std::string & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から string の値を取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, std::vector< int > & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から int のリストを取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, std::vector< long > & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から long のリストを取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. 26 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, std::vector< long long > & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から long long のリストを取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, std::vector< float > & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から float のリストを取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, std::vector< double > & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から double のリストを取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. 27 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, std::vector< bool > & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から bool のリストを取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getAttribute (const std::string & key, std::vector< std::string > & value) throw common::DistributedException) [pure virtual] 属性の取得(プリミティブ型). DDC から string のリストを取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getClassName (const std::string & key, std::string & className) throw common::DistributedException) [pure virtual] 保持データのクラス名取得. setAttribute/setSerializedData した際のクラス名を取得する. 引数: key IN:取得キー className OUT:クラス名 例外: keyNotExist 指定したキーの登録がない internalError 処理異常発生 戻り値: なし 28 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::getDispatchKey (DispatchKey & dispatchKey)[pure virtual] 振り分けキーの取得. DDC 内に保持する振り分けキーを返却する. 引数: dispatchKey OUT:値の返却用 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::getKeyList (std::vector< std::string > & keyList) throw common::DistributedException) [pure virtual] キー一覧の取得. DDC 内に保持する属性のキー一覧を返却する. 引数: keyList OUT:値の返却用 例外: internalError 処理異常発生 戻り値: なし. 補足: 属性が1件もない場合は, 0件のリストを返却する. virtual void xnode::distributedprocessingbase::dtct::Ddc::getSerializedData (const std::string & key, std::string & value) throw common::DistributedException) [pure virtual] 属性の取得(シリアライズデータ). DDC からシリアライズデータを取得する. 引数: key IN:取得キー value OUT:取得値 例外: keyNotExist 指定したキーの登録がない invalidType 指定したキーに対応する値の型が異なる internalError 処理異常発生 戻り値: なし. 29 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::getTaskIdList (std::vector< std::string > & taskIdList) throw common::DistributedException) [pure virtual] 実行待ち中の非同期タスク一覧の取得. この DDC に登録された実行待ち中の非同期タスクを検索し, そのタスク名の一覧を取得する. 引数: taskIdList OUT:実行待ち中のタスク名一覧 例外: internalError 処理異常発生 戻り値: なし. 補足: 非同期タスクが一つもない場合は, 要素0のリストが返る. virtual void xnode::distributedprocessingbase::dtct::Ddc::removeAttribute (const std::string & key) throw common::DistributedException) [pure virtual] 属性の削除. DDC から属性を削除する. 引数: key IN:削除キー 例外: internalError 処理異常発生 戻り値: なし. 補足: 指定されたキーが存在しない場合でも正常終了とする. virtual void xnode::distributedprocessingbase::dtct::Ddc::removeTask (const std::string & taskId) throw common::DistributedException) [pure virtual] 非同期タスクの登録解除(救済). 登録済みの非同期タスクをキャンセルする. 引数: taskId IN:非同期タスク登録時に払いだされた非同期タスク ID 例外: internalError 処理異常発生 戻り値: なし. 注意: 既に実行中のタスクについてはキャンセルできない. 指定されたキーが存在しない場合でも正常終了とする. 30 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, int value) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に int データを設定する. 引数: key IN:登録キー value IN:登録値 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, long value) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に long データを設定する. 引数: key IN:登録キー value IN:登録値 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, long long value) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に long long データを設定する. 引数: key IN:登録キー value IN:登録値 例外: internalError 処理異常発生 戻り値: なし. 31 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, float value) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に float データを設定する. 引数: key IN:登録キー value IN:登録値 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, double value) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に double データを設定する. 引数: key IN:登録キー value IN:登録値 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, bool value) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に bool データを設定する. 引数: key IN:登録キー value IN:登録値 例外: internalError 処理異常発生 戻り値: なし. 32 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, const std::string & value, bool checkBinaryDiff = false) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に string データを設定する. 引数: key IN:登録キー value IN:登録値 checkBinaryDiff IN:バイナリ差分レプリケーションの使用有無(true:有効, false:無効[デフォルト]) 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, const std::vector< int > & value, bool checkBinaryDiff = false) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に int のリストを設定する. 引数: key IN:登録キー value IN:登録値 checkBinaryDiff IN:バイナリ差分レプリケーションの使用有無(true:有効, false:無効[デフォルト]) 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, const std::vector< long > & value, bool checkBinaryDiff = false) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に long のリストを設定する. 引数: key IN:登録キー value IN:登録値 checkBinaryDiff IN:バイナリ差分レプリケーションの使用有無(true:有効, false:無効[デフォルト]) 例外: internalError 処理異常発生 戻り値: なし. 33 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, const std::vector< long long > & value, bool checkBinaryDiff = false) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に long long のリストを設定する. 引数: key IN:登録キー value IN:登録値 checkBinaryDiff IN:バイナリ差分レプリケーションの使用有無(true:有効, false:無効[デフォルト]) 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, const std::vector< float > & value, bool checkBinaryDiff = false) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に float のリストを設定する. 引数: key IN:登録キー value IN:登録値 checkBinaryDiff IN:バイナリ差分レプリケーションの使用有無(true:有効, false:無効[デフォルト]) 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, const std::vector< double > & value, bool checkBinaryDiff = false) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に double のリストを設定する. 引数: key IN:登録キー value IN:登録値 checkBinaryDiff IN:バイナリ差分レプリケーションの使用有無(true:有効, false:無効[デフォルト]) 例外: internalError 処理異常発生 戻り値: なし. 34 Copyright © 2014 virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, const std::vector< bool > & value, bool checkBinaryDiff = false) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に bool のリストを設定する. 引数: key IN:登録キー value IN:登録値 checkBinaryDiff IN:バイナリ差分レプリケーションの使用有無(true:有効, false:無効[デフォルト]) 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::setAttribute (const std::string & key, const std::vector< std::string > & value, bool checkBinaryDiff = false) throw common::DistributedException) [pure virtual] 属性の設定(プリミティブ型). DDC に string のリストを設定する. 引数: key IN:登録キー value IN:登録値 checkBinaryDiff IN:バイナリ差分レプリケーションの使用有無(true:有効, false:無効[デフォルト]) 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::dtct::Ddc::setSerializedData (const std::string & key, const std::string & value, const std::string & className, bool checkBinaryDiff = false) throw common::DistributedException) [pure virtual] 属性の設定(シリアライズデータ). DDC に APL オブジェクト(シリアライズデータ)を設定する. 引数: key IN:登録キー value IN:登録値(シリアライズデータ) className IN:登録オブジェクトを識別するためのクラス名 checkBinaryDiff IN:バイナリ差分レプリケーションの使用有無(true:有効, false:無効[デフォルト]) 例外: internalError 処理異常発生 invalidArgument パラメータ異常 戻り値: なし. 補足: このAPIで登録したクラス名はgetClassName()で取得できる. 35 Copyright © 2014 3.4. xnode::distributedprocessingbase::mspr::DefaultDataListener IDataListener のデフォルト実装クラス. "processor.h"で定義される. xnode::distributedprocessingbase::mspr::DefaultDataListener に対する継承グラフ 3.4.1. Public メソッド一覧 virtual bool notifyExpired (dtct::Ddc &ddc) throw (common::DistributedException) virtual bool notifyReplicaExpired (dtct::Ddc &ddc) throw (common::DistributedException) virtual bool notifyOneThreadInit (const std::vector< dtct::Ddc * > &ddc, std::map< std::string, void * > &resourceMap) throw (common::DistributedException) virtual void getOriginalDataStateNotify (bool &isNotify) throw (common::DistributedException) virtual void notifyUpOriginalData (const std::string &ddcId) throw (common::DistributedException) virtual void notifyTransOriginalData (dtct::Ddc &ddc, bool &isUpdated) throw (common::DistributedException) virtual ~DefaultDataListener () 3.4.2. Static Public メソッド一覧 なし. 3.4.3. 列挙型 なし. 3.4.4. メソッド virtual xnode::distributedprocessingbase::mspr::DefaultDataListener::~DefaultDataListener ()[virtual] デストラクタ. 引数: なし. 36 Copyright © 2014 virtual void xnode::distributedprocessingbase::mspr::DefaultDataListener::getOriginalDataStateNotify (bool & isNotify) throw common::DistributedException) [virtual] 原本状態通知要否取得. デフォルト実装では, isNotify は常に false を設定する. 引数: isNotify OUT:原本状態通知要否(true:通知要, false:通知不要) 例外: internalError 処理異常発生 戻り値: なし. virtual bool xnode::distributedprocessingbase::mspr::DefaultDataListener::notifyExpired (dtct::Ddc & ddc) throw common::DistributedException) [virtual] 浮きデータ通知(原本). デフォルト実装では, 常に true を返し DDC を削除する. 引数: ddc IN:浮きの可能性のある DDC 例外: internalError 処理異常発生 戻り値: DDC削除要否(true:削除要, false:削除不要). virtual bool xnode::distributedprocessingbase::mspr::DefaultDataListener::notifyOneThreadInit (const std::vector< dtct::Ddc * > & ddc, std::map< std::string, void * > & resourceMap) throw common::DistributedException) [virtual] 個別初期設定通知. デフォルト実装では, 常に true を返し DDC を削除する. 引数: ddc IN:処理中の DDC リスト resourceMap IN:リソース登録 Map 例外: internalError 処理異常発生 戻り値: DDC削除要否(true:削除要, false:削除不要). 37 Copyright © 2014 virtual bool xnode::distributedprocessingbase::mspr::DefaultDataListener::notifyReplicaExpired (dtct::Ddc & ddc) throw common::DistributedException) [virtual] 浮きデータ通知(複製). デフォルト実装では, 常に true を返し DDC を削除する. 引数: ddc IN:浮きの可能性のある DDC 例外: internalError 処理異常発生 戻り値: DDC削除要否(true:削除要, false:削除不要). virtual void xnode::distributedprocessingbase::mspr::DefaultDataListener::notifyTransOriginalData (dtct::Ddc & ddc, bool & isUpdated) throw common::DistributedException) [virtual] 原本移動通知. デフォルト実装では, 何もせず, isUpdated は常に false を設定する. 引数: ddc IN:DDC 複製オブジェクト isUpdated OUT:DDC 更新有無(true:DDC 更新あり, false:DDC 更新なし) 例外: internalError 処理異常発生 戻り値: なし. virtual void xnode::distributedprocessingbase::mspr::DefaultDataListener::notifyUpOriginalData (const std::string & ddcId) throw common::DistributedException) [virtual] 原本昇格通知. デフォルト実装では, 何もしない. 引数: ddcId IN:原本データの DDCID 例外: internalError 処理異常発生 戻り値: なし. 38 Copyright © 2014 3.5. xnode::distributedprocessingbase::msdp::DispatcherInterface 振り分け制御 FB の APL 向けインターフェイスクラス. "dispatcher.h"で定義される. 3.5.1. Public メソッド一覧 void loggingRequest (DispatchKey &dispatchKey, std::string &message, long dataId) throw (common::DistributedException) 3.5.2. Static Public メソッド一覧 static DispatcherInterface & getInstance () 3.5.3. 列挙型 なし. 3.5.4. メソッド static DispatcherInterface& xnode::distributedprocessingbase::msdp::DispatcherInterface::getInstance ()[static] 振り分け制御FBインターフェイスクラスインスタンス取得. 引数: なし. 戻り値: 本クラスの唯一のインスタンス. 39 Copyright © 2014 void xnode::distributedprocessingbase::msdp::DispatcherInterface::loggingRequest (DispatchKey & dispatchKey, std::string & message, long dataId) throw common::DistributedException) 信号追跡用ログの出力依頼. 信号ログ情報(内容は APL 規定)と振り分け振り分けキーを渡し, 該当の信号がどのサーバに振り分けられたのかの情報を付 加した上でログ出力を行う. 引数: dispatchKey IN:振り分けキー message IN:ログの出力内容 dataId IN:ログ出力先 ID 例外: internalError 処理異常発生 invalidArgument パラメータ異常 戻り値: なし. 補足: 本APIをPS処理時に実行した場合は, 何もせずに応答する. ログ出力先IDは未サポートパラメータである. 1を固定設定すること. 注意: 40 Copyright © 2014 3.6. xnode::distributedprocessingbase::DispatchKey 振り分けキーデータを保持するクラス. "distributedprocessingbase.h"で定義される. 3.6.1. Public メソッド一覧 DispatchKey () DispatchKey (std::string &ddcId, uint64_t hash, time_t creationTime, std::string &clusterId, std::string &fileVersion, bool hashPresent=true) void setDdcId (const std::string &ddcId) const char * getDdcId () void setHash (const uint64_t hash) uint64_t getHash () bool isHashPresent () void setCreationTime (const time_t creationTime) time_t getCreationTime () void setClusterId (const std::string &clusterId) const char * getClusterId () void setFileVersion (const std::string &fileVersion) const char * getFileVersion () 3.6.2. Static Public メソッド一覧 なし. 3.6.3. 列挙型 なし. 3.6.4. メソッド xnode::distributedprocessingbase::DispatchKey::DispatchKey () デフォルトコンストラクタ. 引数: なし. 補足: 各フィールドは未指定扱いとなる. 41 Copyright © 2014 xnode::distributedprocessingbase::DispatchKey::DispatchKey (std::string & ddcId, uint64_t hash, time_t creationTime, std::string & clusterId, std::string & fileVersion, bool hashPresent = true) コンストラクタ. 引数: ddcId IN:DDCID(指定しない場合は空文字を指定) hash IN:ハッシュ値(指定しない場合は, hashPresent を false に設定) creationTime IN:セッション開始時刻(取得できない場合は 0 を指定) clusterId IN:クラスタ識別子(取得できない場合は空文字を指定) fileVersion IN:ファイルバージョン(取得できない場合は空文字を指定) hashPresent IN:ハッシュ値指定(true:指定, false:未指定) const char* xnode::distributedprocessingbase::DispatchKey::getClusterId () クラスタ識別子取得. 引数: なし. 戻り値: クラスタ識別子. time_t xnode::distributedprocessingbase::DispatchKey::getCreationTime () セッション開始時刻取得. 引数: なし. 戻り値: セッション開始時刻. const char* xnode::distributedprocessingbase::DispatchKey::getDdcId () DDCID取得. 引数: なし. 戻り値: DDCID. const char* xnode::distributedprocessingbase::DispatchKey::getFileVersion () ファイルバージョン取得. 引数: なし. 戻り値: ファイルバージョン. 42 Copyright © 2014 uint64_t xnode::distributedprocessingbase::DispatchKey::getHash () ハッシュ値取得. 引数: なし. 戻り値: ハッシュ値. bool xnode::distributedprocessingbase::DispatchKey::isHashPresent () ハッシュ値設定状態取得. 引数: なし. 戻り値: ハッシュ値設定状態(true:設定済み, false:未設定). void xnode::distributedprocessingbase::DispatchKey::setClusterId (const std::string & clusterId) クラスタ識別子設定. 引数: clusterId IN:クラスタ識別子 戻り値: なし. void xnode::distributedprocessingbase::DispatchKey::setCreationTime (const time_t creationTime) セッション開始時刻設定. 引数: creationTime IN:セッション開始時刻 戻り値: なし. void xnode::distributedprocessingbase::DispatchKey::setDdcId (const std::string & ddcId) DDCID設定. 引数: ddcId IN:DDCID 戻り値: なし. void xnode::distributedprocessingbase::DispatchKey::setFileVersion (const std::string & fileVersion) ファイルバージョン設定. 引数: fileVersion IN:ファイルバージョン 戻り値: なし. 43 Copyright © 2014 void xnode::distributedprocessingbase::DispatchKey::setHash (const uint64_t hash) ハッシュ値設定. 引数: hash IN:ハッシュ値 戻り値: なし. 補足: 本APIを実行すると, hashPresentはtrueに変更される. 44 Copyright © 2014 3.7. xnode::distributedprocessingbase::common::DistributedException 分散処理基盤がスローする APL 向け共通例外クラス. "DistributedException.hpp"で定義される. xnode::distributedprocessingbase::common::DistributedException に対する継承グラフ 3.7.1. Public メソッド一覧 DistributedException (const enum CauseCode cause, const enum FunctionBlock fb, const std::string &message) DistributedException (const enum CauseCode cause, const int detailCause1, const int detailCause2, const enum FunctionBlock fb, const std::string &message) CauseCode getCause (void) const FunctionBlock getFunctionBlock (void) const virtual const char * what (void) const throw () void getDetailCause (int &detailCause1, int &detailCause2) virtual ~DistributedException (void) throw () 3.7.2. Static Public メソッド一覧 なし. 3.7.3. 列挙型 enum xnode::distributedprocessingbase::common::DistributedException::CauseCode APL向け例外のエラー番号. 列挙型の値 invalidArgument パラメータ異常 alreadyExist 既にデータが存在している dataNotExist 原本データが存在しない dataRegisterFailed 原本データ生成失敗 dataUpdateFailed 原本データ更新失敗 dataGetFailed 原本データ取得失敗 dataRemoveFailed 原本データ削除失敗 replicationFailed レプリケーション失敗 lockTimeout ロック取得タイムアウト notLocked 対象の DDC がロックされていない taskRegisterFailed 非同期タスク操作失敗 timerRegisterFailed 浮きチェックタイマ操作失敗 keyNotExist 指定したキーの登録がない 45 Copyright © 2014 列挙型の値 invalidType 指定したキーに対応する値の型が異なる ioError IO エラー dispatchKeyNotFound 振り分けキーが見つからない balancerNotFound 指定されたポートに該当する B アドレスが存在しない invalidThread 分散処理基盤スレッド以外からの実行 notStarted サービス開始前/停止後の実行 internalError 処理異常発生 serverApiError サーバ基盤 API でエラー発生 connectionNotExist 指定されたコネクションの登録がない 3.7.4. メソッド xnode::distributedprocessingbase::common::DistributedException::DistributedException (const enum CauseCode cause, const enum FunctionBlock fb, const std::string & message) コンストラクタ. 引数: cause IN:エラー番号 fb IN:例外発生元の FB message IN:エラー詳細情報 xnode::distributedprocessingbase::common::DistributedException::DistributedException (const enum CauseCode cause, const int detailCause1, const int detailCause2, const enum FunctionBlock fb, const std::string & message) コンストラクタ. 引数: cause IN:エラー番号 detailCause1 IN:詳細エラー番号 1 detailCause2 IN:詳細エラー番号 2 fb IN:例外発生元の FB message IN:エラー詳細情報 virtual xnode::distributedprocessingbase::common::DistributedException::~DistributedException (void ) throw ) [virtual] デストラクタ. 引数: なし. 46 Copyright © 2014 CauseCode xnode::distributedprocessingbase::common::DistributedException::getCause (void ) const エラー番号取得. 引数: なし. 戻り値: エラー番号. void xnode::distributedprocessingbase::common::DistributedException::getDetailCause (int & detailCause1, int & detailCause2) 詳細エラー番号取得. 引数: detailCause1 OUT:詳細エラー番号 1 detailCause2 OUT:詳細エラー番号 2 戻り値: なし. 補足: 詳細エラー番号が未使用の場合, INVALID_DETAIL_CAUSE (-1)を詳細エラー番号として返却する. FunctionBlock xnode::distributedprocessingbase::common::DistributedException::getFunctionBlock (void ) const 例外発生元FB取得. 引数: なし. 戻り値: 例外発生元のFB. virtual const char* xnode::distributedprocessingbase::common::DistributedException::what (void ) const throw ) [virtual] エラー詳細情報取得. 引数: なし. 戻り値: エラー詳細情報. 47 Copyright © 2014 3.8. xnode::distributedprocessingbase::mspr::IApplicationListener D 及び PS-APL 処理用のリスナ基底クラス. "processor.h"で定義される. 3.8.1. Public メソッド一覧 virtual void getDispatchKey (Socket &socket, DispatchKey &dispatchKey, bool &initialSignal, bool &readOnly, std::vector< DispatchKey > &list)=0 throw (common::DistributedException) virtual void getDispatchKey (const char *data, int size, const std::string &srcAddr, const int srcPort, DispatchKey &dispatchKey, bool &initialSignal, bool &readOnly, std::vector< DispatchKey > &list)=0 throw (common::DistributedException) virtual void doRead (Socket &socket)=0 throw (common::DistributedException) virtual void dispatch (Socket &socket, DispatchKey &dispatchKey)=0 throw (common::DistributedException) virtual void dispatch (const char *data, int size, const std::string &srcAddr, const int srcPort, const int recvPort, DispatchKey &dispatchKey)=0 throw (common::DistributedException) virtual ~IApplicationListener ()=0 3.8.2. Static Public メソッド一覧 なし. 3.8.3. 列挙型 なし. 3.8.4. メソッド virtual xnode::distributedprocessingbase::mspr::IApplicationListener::~IApplicationListener ()[pure virtual] デストラクタ. 引数: なし. 48 Copyright © 2014 virtual void xnode::distributedprocessingbase::mspr::IApplicationListener::dispatch (Socket & socket, DispatchKey & dispatchKey) throw common::DistributedException) [pure virtual] PS処理呼出(TCP). PS の APL 処理を実装する. 引数: socket IN:受信側 TCP 信号 dispatchKey IN:振り分けキー 例外: internalError 処理異常発生 戻り値: なし. 補足: TCPを使用しない場合はダミー実装でよい. virtual void xnode::distributedprocessingbase::mspr::IApplicationListener::dispatch (const char * data, int size, const std::string & srcAddr, const int srcPort, const int recvPort, DispatchKey & dispatchKey) throw common::DistributedException) [pure virtual] PS処理呼出(UDP). PS の APL 処理を実装する. 引数: data IN:受信 UDP データ size IN:受信 UDP データサイズ srcAddr IN:送信元アドレス srcPort IN:送信元ポート番号 recvPort IN:受信(P)ポート番号 dispatchKey IN:振り分けキー 例外: internalError 処理異常発生 戻り値: なし. 補足: UDPを使用しない場合はダミー実装でよい. 49 Copyright © 2014 virtual void xnode::distributedprocessingbase::mspr::IApplicationListener::doRead (Socket & socket) throw common::DistributedException) [pure virtual] TCP信号読み出し. ストリームから信号の終端まで読み出しを行う. 引数: socket IN:受信側 TCP 信号 例外: ioError IO エラー 戻り値: なし. 補足: TCPを使用しない場合はダミー実装でよい. virtual void xnode::distributedprocessingbase::mspr::IApplicationListener::getDispatchKey (Socket & socket, DispatchKey & dispatchKey, bool & initialSignal, bool & readOnly, std::vector< DispatchKey > & list) throw common::DistributedException) [pure virtual] 振り分けキー取得(TCP). 信号から振り分けキーを取得または生成する. 引数: socket IN:受信側 TCP 信号 dispatchKey OUT:振り分けキー initialSignal OUT:信号種別(true:初期信号, false:後続信号) readOnly OUT:操作種別(true:READONLY, false:READWRITE) list OUT:更新対象の振り分けキーのリスト(複数 DDC を更新しない場合は設定 しない, ま た dispatchKey 引数と重複しないこと) 例外: ioError IO エラー dispatchKeyNotFou 振り分けキーが見つからない nd 戻り値: なし. 補足: TCPを使用しない場合はダミー実装でよい. dispatchKeyとlistのインスタンスは分散処理基盤側で生成して本APIを実行する. 廃棄もlistに登録したDispatchKeyを 含めて分散処理基盤側で実施する. dispatcheKeyのハッシュ値またはDDCIDが未設定の場合, PS側処理時はDDCにアクセスしないものとみなされロックな どは行われない. dispatcheKeyのハッシュ値が未設定の場合, D側処理時の振り分け先は自サーバとなる. ただしDのみサーバである場合 は, ランダムに振り分け先が決定される. 注意: 信号種別が判断できないプロトコルの場合, 信号種別には後続信号を指定すること. 50 Copyright © 2014 virtual void xnode::distributedprocessingbase::mspr::IApplicationListener::getDispatchKey (const char * data, int size, const std::string & srcAddr, const int srcPort, DispatchKey & dispatchKey, bool & initialSignal, bool & readOnly, std::vector< DispatchKey > & list) throw common::DistributedException) [pure virtual] 振り分けキー取得(UDP). 信号から振り分けキーを取得または生成する. 引数: data IN:受信 UDP データ size IN:受信 UDP データサイズ srcAddr IN:送信元アドレス srcPort IN:ポート番号 dispatchKey OUT:振り分けキー initialSignal OUT:信号種別(true:初期信号, false:後続信号) readOnly OUT:操作種別(true:READONLY, false:READWRITE) list OUT:更新対象の振り分けキーのリスト(複数 DDC を更新しない場合は設定しない, また dispatchKey 引数と重複しないこと) 例外: dispatchKeyNotFou 振り分けキーが見つからない nd 戻り値: なし. 補足: UDPを使用しない場合はダミー実装でよい. dispatchKeyとlistのインスタンスは分散処理基盤側で生成して本APIを実行する. 廃棄もlistに登録したDispatchKeyを 含めて分散処理基盤側で実施する. dispatcheKeyのハッシュ値またはDDCIDが未設定の場合, PS側処理時はDDCにアクセスしないものとみなされロックな どは行われない. dispatcheKeyのハッシュ値が未設定の場合, D側処理時の振り分け先は自サーバとなる. ただしDのみサーバである場合 は, ランダムに振り分け先が決定される. 注意: 信号種別が判断できないプロトコルの場合, 後続信号を指定すること. 51 Copyright © 2014 3.9. xnode::distributedprocessingbase::mspr::IAsyncTaskListener 非同期タスク実行用のリスナ基底クラス. "processor.h"で定義される. 3.9.1. Public メソッド一覧 virtual void executeAsyncTask (const std::string &taskId, const std::string &ddcId, const std::string &extraData)=0 throw (common::DistributedException) virtual ~IAsyncTaskListener ()=0 3.9.2. Static Public メソッド一覧 なし. 3.9.3. 列挙型 なし. 3.9.4. メソッド virtual xnode::distributedprocessingbase::mspr::IAsyncTaskListener::~IAsyncTaskListener ()[pure virtual] デストラクタ. 引数: なし. virtual void xnode::distributedprocessingbase::mspr::IAsyncTaskListener::executeAsyncTask (const std::string & taskId, const std::string & ddcId, const std::string & extraData) throw common::DistributedException) [pure virtual] 非同期タスク処理実行. DDC に登録された非同期タスク処理を実行する. 引数: taskId IN:非同期タスク ID ddcId IN:非同期タスクが登録されている DDC の ID extraData IN:タスク登録時に設定したオブジェクト 例外: internalError 処理異常発生 戻り値: なし. 52 Copyright © 2014 3.10. xnode::distributedprocessingbase::mspr::IDataListener DDC データに関する APL 処理用リスナ基底クラス. "processor.h"で定義される. xnode::distributedprocessingbase::mspr::IDataListener に対する継承グラフ 3.10.1. Public メソッド一覧 virtual bool notifyExpired (dtct::Ddc &ddc)=0 throw (common::DistributedException) virtual bool notifyReplicaExpired (dtct::Ddc &ddc)=0 throw (common::DistributedException) virtual bool notifyOneThreadInit (const std::vector< dtct::Ddc * > &ddc, std::map< std::string, void * > &resourceMap)=0 throw (common::DistributedException) virtual void getOriginalDataStateNotify (bool &isNotify)=0 throw (common::DistributedException) virtual void notifyUpOriginalData (const std::string &ddcId)=0 throw (common::DistributedException) virtual void notifyTransOriginalData (dtct::Ddc &ddc, bool &isUpdated)=0 throw (common::DistributedException) virtual ~IDataListener ()=0 3.10.2. Static Public メソッド一覧 なし. 3.10.3. 列挙型 なし. 3.10.4. メソッド virtual xnode::distributedprocessingbase::mspr::IDataListener::~IDataListener ()[pure virtual] デストラクタ. 引数: なし. 53 Copyright © 2014 virtual void xnode::distributedprocessingbase::mspr::IDataListener::getOriginalDataStateNotify (bool & isNotify) throw common::DistributedException) [pure virtual] 原本状態通知要否取得. データグラビテーションが発生して自身の原本データの状態に変化が生じた際, APL への通知が必要かどうかを取得する. 引数: isNotify OUT:原本状態通知要否(true:通知要, false:通知不要) 例外: internalError 処理異常発生 戻り値: なし. 補足: isNotifyにtrueを設定して本APIを返却すると, 分散処理基盤から原本昇格通知/原本移動通知の呼び出しが行われる. virtual bool xnode::distributedprocessingbase::mspr::IDataListener::notifyExpired (dtct::Ddc & ddc) throw common::DistributedException) [pure virtual] 浮きデータ通知(原本). DDC 登録時に指定した有効期限の間データにアクセスがない場合, 原本データの浮きと判断し APL に通知される. 引数: ddc IN:浮きの可能性のある DDC 例外: internalError 処理異常発生 戻り値: DDC削除要否(true:削除要, false:削除不要). 補足: 本APIでtrueを返した場合, DDCは削除される. falseを返した場合, その時間を起点に再び有効期限の監視が行われる. 通知されるDDCデータは読み込み専用である. virtual bool xnode::distributedprocessingbase::mspr::IDataListener::notifyOneThreadInit (const std::vector< dtct::Ddc * > & ddc, std::map< std::string, void * > & resourceMap) throw common::DistributedException) [pure virtual] 個別初期設定通知. 個別初期設定が発生したことを APL へ通知する. 引数: ddc IN:処理中の DDC リスト resourceMap IN:リソース登録 Map 例外: internalError 処理異常発生 戻り値: DDC削除要否(true:削除要, false:削除不要). 補足: 引数で渡されたリソース登録MapにはAPLがリソース登録したデータが登録されている. 本APIでtrueを返した場合, DDCは削除される. 54 Copyright © 2014 virtual bool xnode::distributedprocessingbase::mspr::IDataListener::notifyReplicaExpired (dtct::Ddc & ddc) throw common::DistributedException) [pure virtual] 浮きデータ通知(複製). DDC 登録時に指定した有効期限+Config により指定された時間の間, 複製データにアクセスがない場合, 複製データの浮き と判断し APL に通知される. 引数: ddc IN:浮きの可能性のある DDC 例外: internalError 処理異常発生 戻り値: DDC削除要否(true:削除要, false:削除不要). 補足: 本APIでtrueを返した場合, DDCは削除される. falseを返した場合, その時間を起点に再び有効期限の監視が行われる. 通知されるDDCデータは読み込み専用である. virtual void xnode::distributedprocessingbase::mspr::IDataListener::notifyTransOriginalData (dtct::Ddc & ddc, bool & isUpdated) throw common::DistributedException) [pure virtual] 原本移動通知. データグラビテーションが発生して自身の原本データが移動されることを APL に通知する. 引数: ddc IN:原本データのコピー isUpdated OUT:DDC 更新有無(true:DDC 更新あり, false:DDC 更新なし) 例外: internalError 処理異常発生 戻り値: なし. 補足: isUpdatedにtrueを設定した場合, 分散処理基盤側でその更新内容を原本データに反映する. isUpdatedにfalseを設定した場合, 更新内容の反映は行わない. 通知した原本データのコピーは分散処理基盤側で削除する. 通知した原本データのコピーに対して更新を行った場合, isUpdatedにtrueを設定すること. 注意: 55 Copyright © 2014 virtual void xnode::distributedprocessingbase::mspr::IDataListener::notifyUpOriginalData (const std::string & ddcId) throw common::DistributedException) [pure virtual] 原本昇格通知. データグラビテーションが発生して自身が原本データの所有者となったことを APL に通知する. 引数: ddcId IN:原本データの DDCID 例外: internalError 処理異常発生 戻り値: なし. 56 Copyright © 2014 3.11. xnode::distributedprocessingbase::mspr::IFactoryListener APL のリスナクラス生成用リスナ基底クラス. "processor.h"で定義される. 3.11.1. Public メソッド一覧 virtual void createApplication (const std::string &className, IApplicationListener *&applicationListener)=0 throw (common::DistributedException) virtual void createAsyncTask (const std::string &className, IAsyncTaskListener *&asyncTask)=0 throw (common::DistributedException) virtual ~IFactoryListener ()=0 3.11.2. Static Public メソッド一覧 なし. 3.11.3. 列挙型 なし. 3.11.4. メソッド virtual xnode::distributedprocessingbase::mspr::IFactoryListener::~IFactoryListener ()[pure virtual] デストラクタ. 引数: なし. virtual void xnode::distributedprocessingbase::mspr::IFactoryListener::createApplication (const std::string & className, IApplicationListener *& applicationListener) throw common::DistributedException) [pure virtual] 信号処理用APLリスナインスタンス生成. 分散処理基盤のコンフィグにて指定したクラス名で, 分散処理基盤が本 API を実行する. 引数: className IN:生成対象のクラス名 applicationListener OUT:信号処理用 APL リスナインスタンス 例外: invalidArgument パラメータ異常 戻り値: なし. 補足: 生成されたインスタンスは, 分散処理基盤側で削除を行う. 57 Copyright © 2014 virtual void xnode::distributedprocessingbase::mspr::IFactoryListener::createAsyncTask (const std::string & className, IAsyncTaskListener *& asyncTask) throw common::DistributedException) [pure virtual] 非同期タスク処理インスタンス生成. setOneTimeTask()/setCyclicTask()にて非同期タスクを登録すると, 登録時に指定した際のクラス名が引数に渡される. 本 API ではクラス名に対応した非同期タスクリスナインスタンスを生成して応答する. 引数: className IN:生成対象のクラス名 asyncTask OUT:非同期タスク処理インスタンス 例外: invalidArgument パラメータ異常 戻り値: なし. 補足: 非同期タスクを使用しない場合はダミー実装でよい. 非同期タスクが救済された場合, 救済先のサーバで本APIが実行される. 生成されたインスタンスは, 分散処理基盤側で削除を行う. 58 Copyright © 2014 3.12. xnode::distributedprocessingbase::odtm::LocalDdcIdIterator DDCID 取得のイテレータ制御クラス. "originaldata.h"で定義される. 3.12.1. Public メソッド一覧 virtual bool next (std::string &ddcId)=0 3.12.2. Static Public メソッド一覧 なし. 3.12.3. 列挙型 なし. 3.12.4. メソッド xnode::distributedprocessingbase::odtm::LocalDdcIdIterator::LocalDdcIdIterator ()[protected] コンストラクタ. 引数: なし. 例外: internalError 処理異常発生 virtual xnode::distributedprocessingbase::odtm::LocalDdcIdIterator::~LocalDdcIdIterator ()[protected], [pure virtual] デストラクタ. 引数: なし. virtual bool xnode::distributedprocessingbase::odtm::LocalDdcIdIterator::next (std::string & ddcId)[pure virtual] ローカルDDCIDの順次取得. 引数: ddcId OUT:順次取得した DDCID 例外: internalError 処理異常発生 戻り値: 取得成否(true:取得成功, false:取得失敗). 注意: 戻り値が取得失敗の場合, 順次取得を行った最後のため nextを実行したインスタンスでの取得はできなくなる. 59 Copyright © 2014 3.13. xnode::distributedprocessingbase::logm::LogMng LOG 管理クラス. "LogMng.hpp"で定義される. 3.13.1. Public メソッド一覧 void signalTraceLog (enum ELogSigKind aLogSigKind, enum ELogDirection aLogSigDirect, const char *format,...) void apiTraceLog (enum ELogApiKind aLogApiKind, enum ELogPointKind aLogPointKind, enum ELogAplTrcLvl aLogAplTrcLvl, const std::string &aFileName, const std::string &aFuncName, int aLineNum, const char *format,...) void eventLog (enum ELogApiKind aLogApiKind, enum ELogEvtKind aLogEvtKind, enum ELogDbgLvl aLogDbgLvl, const std::string &aFileName, const std::string &aFuncName, int aLineNum, const char *format,...) bool isEventLogDbgLevel3Enable (enum ELogApiKind aLogApiKind) 3.13.2. Static Public メソッド一覧 static LogMng & getInstance (void) 3.13.3. 列挙型 なし. 60 Copyright © 2014 3.13.4. メソッド void xnode::distributedprocessingbase::logm::LogMng::apiTraceLog (enum ELogApiKind aLogApiKind, enum ELogPointKind aLogPointKind, enum ELogAplTrcLvl aLogAplTrcLvl, const std::string & aFileName, const std::string & aFuncName, int aLineNum, const char * format, ...) APIトレースログ収集要求. APL API のトレースために APL から API の開始/終了時にログの収集を要求する. 引数: aLogApiKind IN:API 種別(APL/MDL) aLogPointKind IN:API 開始/終了識別子(開始/終了) aLogAplTrcLvl IN:APL トレースレベル(Level1/Level2) aFileName IN:ログ収集ファイル名称 aFuncName IN:ログ収集関数名 aLineNum IN:ログ収集箇所(ファイル内行数) format,... IN:メッセージ本体(可変長引数) 例外: なし. 戻り値: なし. 補足: LOG管理が固定出力する情報 ログ収集要求時刻 ログ出力先/ローテートファイルサイズはConfigで指定する. APLトレースレベルについて レベルに応じた収集箇所はAPLで規定. 注意: APLトレースレベルについて Level1はConfigのAPL APIトレース出力レベルがLevel1以上で有効. Level2はConfigのAPL APIトレース出力レベルがLevel2以上で有効. 61 Copyright © 2014 void xnode::distributedprocessingbase::logm::LogMng::eventLog (enum ELogApiKind aLogApiKind, enum ELogEvtKind aLogEvtKind, enum ELogDbgLvl aLogDbgLvl, const std::string & aFileName, const std::string & aFuncName, int aLineNum, const char * format, ...) イベントログ収集要求. Debug に必要なイベントを通知する時に APL からログの収集を要求する. 引数: aLogApiKind IN:API 種別(APL/MDL) aLogEvtKind IN:イベント識別子(CRI/ERR/WARN/INFO/DBG) aLogDbgLvl IN:DBG トレースレベル(Level1/Level2/Level3) aFileName IN:ログ収集ファイル名称 aFuncName IN:ログ収集関数名 aLineNum IN:ログ収集箇所(ファイル内行数) format,... IN:メッセージ本体(可変長引数) 例外: なし. 戻り値: なし. 補足: LOG管理が固定出力する情報 ログ収集要求時刻 ログ出力先/ローテートファイルサイズはConfigで指定する. DBGトレースレベルについて イベント識別子が"Debug"の時のみ指定有効. 初期値(省略時)はLevel1(STレベル). 注意: DBGトレースレベルについて Level1では性能に影響を及ぼすログは禁止. Level1(STレベル)はConfigのAPL Debug出力レベルがLevel1以上で有効. Level2(ITレベル)はConfigのAPL Debug出力レベルがLevel2以上で有効. Level3(CTレベル)はConfigのAPL Debug出力レベルがLevel3以上で有効. 62 Copyright © 2014 static LogMng& xnode::distributedprocessingbase::logm::LogMng::getInstance (void )[static] LOG管理クラスインスタンス取得. LOG 管理クラス唯一のインスタンス取得する. 引数: なし. 例外: なし. 戻り値: aLogMngOid LOG管理クラスインスタンス. bool xnode::distributedprocessingbase::logm::LogMng::isEventLogDbgLevel3Enable (enum ELogApiKind aLogApiKind) イベントログDBGトレースレベル3有効・無効確認. DBG トレースのイベントログレベル 3 の有効・無効を確認する. 引数: aLogApiKind IN:API 種別(APL/MDL) 例外: なし. 戻り値: イベントログDBGトレースレベル3(true:有効, false:無効). void xnode::distributedprocessingbase::logm::LogMng::signalTraceLog (enum ELogSigKind aLogSigKind, enum ELogDirection aLogSigDirect, const char * format, ...) 信号トレースログ収集要求. 信号の送受信(転送)時にトレースログの収集を要求する. 引数: aLogSigKind IN:信号種別 aLogSigDirect IN:送受信(転送)識別子 format,... IN:メッセージ本体(可変長引数) 例外: なし. 戻り値: なし. 補足: LOG管理が固定出力する情報 ログ収集要求時刻 ログ出力先/ローテートファイルサイズはConfigで指定する 63 Copyright © 2014 3.14. xnode::distributedprocessingbase::gmbc::MemberControlInterface メンバ制御 FB の APL 向けインターフェイスクラス. "membercontrol.h"で定義される. 3.14.1. Public メソッド一覧 void getMembers (bool processor, std::vector< std::string > &addressList) throw (common::DistributedException) void getBalancerAddress (int port, std::string &balancerAddress, int &balancerPort) throw (common::DistributedException) void leaveCluster (const std::string &causeMessage, const std::string &requester) void setHealthCheck (int(*hc_entry)(void *)) void deleteHealthCheck (int(*entry)(void *)) 3.14.2. Static Public メソッド一覧 static MemberControlInterface & getInstance () 3.14.3. 列挙型 なし. 3.14.4. メソッド void xnode::distributedprocessingbase::gmbc::MemberControlInterface::deleteHealthCheck (int(*)(void *) entry) ヘルスチェック用callback関数削除. ヘルスチェック実行時に呼ばれる callback 関数の登録を解除する. 引数: entry IN:ヘルスチェック用 callback 関数の関数ポインタ 戻り値: なし. 64 Copyright © 2014 void xnode::distributedprocessingbase::gmbc::MemberControlInterface::getBalancerAddress (int port, std::string & balancerAddress, int & balancerPort) throw common::DistributedException) Bアドレス取得. B が外部に公開している IP アドレス・ポートを取得する. 引数: port IN:待受ポート番号(PS 用) balancerAddress OUT:port に対応する B アドレス balancerPort OUT:port に対応する B ポート 例外: balancerNotFound 指定されたポートに該当する B アドレスが存在しない 戻り値: なし. 注意: BのIPアドレス・ポートは運用中に変更される可能性があるため, 使用の都度, 本APIにより取得すること. static MemberControlInterface& xnode::distributedprocessingbase::gmbc::MemberControlInterface::getInstance ()[static] メンバ制御FBインターフェイスクラスインスタンス取得. 引数: なし. 例外: なし. 戻り値: 本クラスの唯一のインスタンス. void xnode::distributedprocessingbase::gmbc::MemberControlInterface::getMembers (bool processor, std::vector< std::string > & addressList) throw common::DistributedException) クラスタメンバ一覧取得. 現在の全クラスタメンバの情報を取得する. 引数: processor IN:取得メンバ(true:PS メンバ, false:D メンバ) addressList OUT:クラスタメンバの IP アドレスのリスト IPv6 の場合は省略形ではなく完全形で返す 例外: notStarted サービス開始前/停止後の実行 戻り値: なし. 補足: processorがtrueの場合, 返されるメンバは信号処理対象のメンバのみ. (Dのみメンバや, 保守減設フラグが設定されて いるメンバは除外される) processorがfalseの場合, 返されるメンバはDのみまたはDPSメンバとなる. 本APIはサービス開始通知後に使用可能となり, 保守減設に伴うサービス停止以降は使用不可となる. 注意: 65 Copyright © 2014 void xnode::distributedprocessingbase::gmbc::MemberControlInterface::leaveCluster (const std::string & causeMessage, const std::string & requester) クラスタ強制離脱. APL 判断によりクラスタから強制離脱(故障減設)する. 引数: causeMessage IN:強制離脱理由 requester IN:要求者情報 戻り値: なし. 補足: 引数で渡された情報はログ及びアラーム出力時に使用される. void xnode::distributedprocessingbase::gmbc::MemberControlInterface::setHealthCheck (int(*)(void *) hc_entry) ヘルスチェック用callback関数登録. ヘルスチェック実行時に呼ばれる callback 関数の登録を行う. 引数: hc_entry IN:ヘルスチェック用 callback 関数の関数ポインタ 戻り値: なし. 66 Copyright © 2014 3.15. xnode::distributedprocessingbase::odtm::OriginalDataInterface 原本データ管理 FB の APL 向けインターフェイスクラス. "originaldata.h"で定義される. 3.15.1. Public メソッド一覧 virtual void registerDDC (const Ddc &ddc, int replNum, enum ReplicationMode replMode, int expireTime, bool repl, bool consistency)=0 throw (DistributedException) virtual void updateDDC (const Ddc &ddc, bool repl)=0 throw (DistributedException) virtual void getDDC (const std::string &ddcId, Ddc *&ddc)=0 throw (DistributedException) virtual void removeDDC (const std::string &ddcId)=0 throw (DistributedException) virtual void getOtherDDC (const DispatchKey &dispatchKey, Ddc *&ddc)=0 throw (DistributedException) virtual void getLocalDDC (const std::string &ddcId, Ddc *&ddc)=0 throw (DistributedException) virtual void createDDC (const DispatchKey &dispatchKey, Ddc *&ddc)=0 throw (DistributedException) virtual int getRecreateDataCount (const std::string &ddcId)=0 throw (DistributedException) virtual void clearRecreateDataCount (const std::string &ddcId)=0 throw (DistributedException) virtual void createLocalDdcIdIterator (LocalDdcIdIterator *&iterator)=0 throw (DistributedException) 3.15.2. Static Public メソッド一覧 static OriginalDataInterface & getInstance () 3.15.3. 列挙型 なし. 3.15.4. メソッド xnode::distributedprocessingbase::odtm::OriginalDataInterface::OriginalDataInterface ()[protected] コンストラクタ. 引数: なし. virtual xnode::distributedprocessingbase::odtm::OriginalDataInterface::~OriginalDataInterface ()[protected], [pure virtual] デストラクタ. 引数: なし. 67 Copyright © 2014 virtual void xnode::distributedprocessingbase::odtm::OriginalDataInterface::clearRecreateDataCount (const std::string & ddcId) throw DistributedException) [pure virtual] 連続救済回数リセット. ローカルグラビテーション(故障減設後の再配置)により, 複製から原本に昇格された回数をリセットする. 引数: ddcId IN:DDCID 例外: dataNotExist 原本データが存在しない notLocked 対象の DDC がロックされていない internalError 処理異常発生 戻り値: なし. 注意: APLはDDCの正常性を確認できた場合, 本APIを呼び出す必要がある. virtual void xnode::distributedprocessingbase::odtm::OriginalDataInterface::createDDC (const DispatchKey & dispatchKey, Ddc *& ddc) throw DistributedException) [pure virtual] データ生成. 新規に DDC データを生成する. 引数: dispatchKey IN:振り分けキー(dispatch()で渡されたもの) ddc OUT:生成した DDC 格納用変数 例外: invalidArgument パラメータ異常 alreadyExist 原本データが既に存在する dataGetFailed 原本データ取得失敗(ロック未取得等) internalError 処理異常発生 戻り値: なし. 注意: 本APIで取得したインスタンスは, registerDDCを実行しない場合は呼び出し側でdeleteする必要がある. 68 Copyright © 2014 virtual void xnode::distributedprocessingbase::odtm::OriginalDataInterface::createLocalDdcIdIterator (LocalDdcIdIterator *& iterator) throw DistributedException) [pure virtual] ローカルDDCIDの順次取得インスタンス生成. ローカルデータ一覧列挙用のイテレータインスタンスを取得する. 引数: iterator OUT:DDCID 取得のイテレータ制御クラスインスタンス 例外: internalError 処理異常発生 戻り値: なし. 注意: 本APIで取得したインスタンスは呼び出し側でdeleteする必要がある. virtual void xnode::distributedprocessingbase::odtm::OriginalDataInterface::getDDC (const std::string & ddcId, Ddc *& ddc) throw DistributedException) [pure virtual] データ取得. 原本データ管理上に保存されている DDC を取得する. 引数: ddcId IN:取得対象 DDC の ID ddc OUT:取得した DDC 格納用変数 例外: dataNotExist 原本データが存在しない dataGetFailed 原本データ取得失敗(ロック未取得等) timerRegisterFailed 浮きチェックタイマ操作失敗 internalError 処理異常発生 戻り値: なし. 注意: 本APIで取得したインスタンスは, updateDDCを実行しない場合は 呼び出し側でdeleteする必要がある. static OriginalDataInterface& xnode::distributedprocessingbase::odtm::OriginalDataInterface::getInstance ()[static] 原本データFBインターフェイスクラスインスタンス取得. 引数: なし. 例外: なし. 戻り値: 本クラスの唯一のインスタンス. 69 Copyright © 2014 virtual void xnode::distributedprocessingbase::odtm::OriginalDataInterface::getLocalDDC (const std::string & ddcId, Ddc *& ddc) throw DistributedException) [pure virtual] ローカルデータ参照. 自メンバが所有する DDC の参照用コピーを取得する. 引数: ddcId IN:取得対象 DDC の ID ddc OUT:取得した DDC 格納用変数 例外: dataNotExist 原本データが存在しない dataGetFailed 原本データ取得失敗(メモリ不足等) internalError 処理異常発生 戻り値: なし. 注意: 本APIで取得したインスタンスは, 呼び出し側でdeleteする必要がある. 本APIで取得したデータは参照のみ可能であり, 新規登録/更新/削除に使用することはできない. virtual void xnode::distributedprocessingbase::odtm::OriginalDataInterface::getOtherDDC (const DispatchKey & dispatchKey, Ddc *& ddc) throw DistributedException) [pure virtual] 他セッションのデータ取得. 他セッション(振り分けキーで指定した DDC 以外)の DDC を取得する. 引数: dispatchKey IN:振り分けキー(必須パラメータは DDCID とハッシュ値) ddc OUT:取得した DDC 格納用変数 例外: dataNotExist 原本データが存在しない lockTimeout ロック取得タイムアウト invalidThread 分散処理基盤スレッド以外からの実行 dataGetFailed 原本データ取得失敗(ロック未取得等) internalError 処理異常発生 戻り値: なし. 補足: 他セッションデータを取得するため, ロックをかけてから取得を行うが 本APIはデッドロックが発生する可能性がある. そのため, ロック時にConfigに指定したタイムアウト値を超えた場合例外を throwする. 注意: 本APIで取得したインスタンスは, updateDDCを実行しない場合は 呼び出し側でdeleteする必要がある. 70 Copyright © 2014 virtual int xnode::distributedprocessingbase::odtm::OriginalDataInterface::getRecreateDataCount (const std::string & ddcId) throw DistributedException) [pure virtual] 連続救済回数取得. ローカルグラビテーション(故障減設後の再配置)により, 複製から原本に昇格された回数を取得する. 引数: ddcId IN:DDCID 例外: dataNotExist 原本データが存在しない notLocked 対象の DDC がロックされていない internalError 処理異常発生 戻り値: 救済回数. 補足: 戻り値が1以上の場合, 障害に遭遇していることになり, データ不整合が生じている可能性がある. virtual void xnode::distributedprocessingbase::odtm::OriginalDataInterface::registerDDC (const Ddc & ddc, int replNum, enum ReplicationMode replMode, int expireTime, bool repl, bool consistency) throw DistributedException) [pure virtual] データ新規登録. 引数により渡された DDC の管理を原本データ管理で開始する. 引数: ddc IN:新規登録する DDC replNum IN:データの冗長度 replMode IN:レプリケーション同期モード expireTime IN:DDC 有効期限. 有効期限内にデータアクセスがない場合, APL に通知した上で削除さ れる. 0 を指定した場合は無限となる(単位:ミリ秒) repl IN:救済フラグ(true:救済要, false:救済不要) consistency IN:定期整合実施要否(true:定期整合要, false:定期整合不要) 例外: alreadyExist 原本データが既に存在する dataRegisterFailed 原本データ生成失敗 (ロック未取得, getLocalDDC で取得した DDC の登録等) replicationFailed レプリケーション失敗 invalidArgument パラメータ異常 (冗長度が 0 以下,有効期限がマイナスなど) taskRegisterFailed 非同期タスク操作失敗 timerRegisterFailed 浮きチェックタイマ操作失敗 internalError 処理異常発生 戻り値: なし. 注意: このAPIで登録を行ったDDCのインスタンスはdeleteしないこと. 71 Copyright © 2014 virtual void xnode::distributedprocessingbase::odtm::OriginalDataInterface::removeDDC (const std::string & ddcId) throw DistributedException) [pure virtual] データ削除. 原本データ管理上に保存されている DDC を削除する. 引数: ddcId IN:削除対象 DDC の ID 例外: dataNotExist 原本データが存在しない dataRemoveFailed 原本データ削除失敗(ロック未取得, レプリケーション失敗等) taskRegisterFailed 非同期タスク操作失敗 timerRegisterFailed 浮きチェックタイマ操作失敗 internalError 処理異常発生 戻り値: なし. 補足: データ生成時に指定したレプリケーション同期モードにてデータの削除を行う. virtual void xnode::distributedprocessingbase::odtm::OriginalDataInterface::updateDDC (const Ddc & ddc, bool repl) throw DistributedException) [pure virtual] データ更新. 引数により渡された DDC により, 管理中の原本データを更新する. 引数: ddc IN:更新対象 DDC repl IN:救済フラグ(true:救済要, false:救済不要) 例外: dataNotExist 原本データが存在しない dataUpdateFailed 原本データ更新失敗 (ロック未取得, getLocalDDC で取得した DDC の更新等) replicationFailed レプリケーション失敗 taskRegisterFailed 非同期タスク操作失敗 timerRegisterFailed 浮きチェックタイマ操作失敗 internalError 処理異常発生 戻り値: なし. 補足: レプリケーション同期モードは生成時に指定したものを使用する. このAPIで更新を行ったDDCのインスタンスはdeleteしないこと. 注意: 72 Copyright © 2014 3.16. xnode::distributedprocessingbase::mspr::ProcessorInterface 実行制御 FB の APL 向けインターフェイスクラス. "processor.h"で定義される. 3.16.1. Public メソッド一覧 void setDataListener (IDataListener *listener) throw (common::DistributedException) void setFactoryListener (IFactoryListener *listener) throw (common::DistributedException) void getDispatchMember (DispatchKey &dispatchKey, std::string &address) throw (common::DistributedException) void addOneTimeTask (std::string &taskId, const std::string &ddcId, const std::string &className, int delay, const std::string &extraData) throw (common::DistributedException) void addCyclicTask (std::string &taskId, const std::string &ddcId, const std::string &className, int delay, bool fixedRate, const std::vector< int > &interval, const int repeat, const std::string &extraData) throw (common::DistributedException) void removeTask (const std::string &taskId) throw (common::DistributedException) void addResource (const std::string &key, void *value) throw (common::DistributedException) void * getResource (const std::string &key) throw (common::DistributedException) void * removeResource (const std::string &key) throw (common::DistributedException) 3.16.2. Static Public メソッド一覧 static ProcessorInterface & getInstance () 3.16.3. 列挙型 なし. 73 Copyright © 2014 3.16.4. メソッド void xnode::distributedprocessingbase::mspr::ProcessorInterface::addCyclicTask (std::string & taskId, const std::string & ddcId, const std::string & className, int delay, bool fixedRate, const std::vector< int > & interval, const int repeat, const std::string & extraData) throw common::DistributedException) 非同期タスク(周期)の登録(非救済). 周期的に繰り返し実行される非同期タスクを登録する. 引数: taskId OUT:非同期タスク ID ddcId IN:操作対象 DDC の ID className IN:非同期タスク実行用のリスナクラス名 delay IN:初回満了までの実行待ち時間(単位はミリ秒, 0 とすると即時実行となる) fixedRate IN:動作モード(true:固定頻度, false:固定遅延) interval IN:満了間隔のリスト(単位はミリ秒) repeat IN:満了間隔のリストの繰り返し回数(-1 指定で無限繰り返し) extraData IN:APL 側タスク実装クラスのインスタンス生成に必要な付加情報 例外: notStarted サービス開始前/停止後の実行 invalidArgument パラメータ異常 internalError 処理異常発生 戻り値: なし. 注意: 本APIで登録可能なDDCは, 自メンバが所有するDDCのみであり, 他メンバのDDCを指定した場合, タスク実行時に getDDC()がエラーとなる. 本APIはサービス開始通知後に使用可能となり, 保守減設に伴うサービス停止以降は使用不可となる. 74 Copyright © 2014 void xnode::distributedprocessingbase::mspr::ProcessorInterface::addOneTimeTask (std::string & taskId, const std::string & ddcId, const std::string & className, int delay, const std::string & extraData) throw common::DistributedException) 非同期タスク(単発)の登録(非救済). 1 回だけ実行される非同期タスクを登録する. 引数: taskId OUT:非同期タスク ID ddcId IN:操作対象 DDC の ID className IN:非同期タスク実行用のリスナクラス名 delay IN:初回満了までの実行待ち時間(単位はミリ秒, 0 とすると即時実行となる) extraData IN:APL 側タスク実装クラスのインスタンス生成に必要な付加情報 例外: notStarted サービス開始前/停止後の実行 invalidArgument パラメータ異常 internalError 処理異常発生 戻り値: なし. 注意: 本APIで登録可能なDDCは, 自メンバが所有するDDCのみであり, 他メンバのDDCを指定した場合, タスク実行時に getDDC()がエラーとなる. 本APIはサービス開始通知後に使用可能となり, 保守減設に伴うサービス停止以降は使用不可となる. void xnode::distributedprocessingbase::mspr::ProcessorInterface::addResource (const std::string & key, void * value) throw common::DistributedException) 個別初期設定用リソース登録. 引数: key IN:登録キー名 value IN:登録情報のポインタ 例外: invalidThread 分散処理基盤スレッド以外からの実行 internalError 処理異常発生 戻り値: なし. 注意: 登録したポインタが指すデータの削除責任は登録者にある. 75 Copyright © 2014 void xnode::distributedprocessingbase::mspr::ProcessorInterface::getDispatchMember (DispatchKey & dispatchKey, std::string & address) throw common::DistributedException) 振り分け先メンバ取得. 振り分けキーを元に振り分け先となるメンバの情報を取得する. 引数: dispatchKey IN:振り分けキー(必須パラメータはハッシュ値) address OUT:振り分け先メンバアドレス 例外: invalidArgument パラメータ異常 notStarted サービス開始前/停止後の実行 internalError 処理異常発生 戻り値: なし. 注意: 本APIはサービス開始通知後に使用可能となり, 保守減設に伴うサービス停止以降は使用不可となる. static ProcessorInterface& xnode::distributedprocessingbase::mspr::ProcessorInterface::getInstance ()[static] 実行制御FBインターフェイスクラスインスタンス取得. 引数: なし. 例外: なし. 戻り値: 本クラスの唯一のインスタンス. void* xnode::distributedprocessingbase::mspr::ProcessorInterface::getResource (const std::string & key) throw common::DistributedException) 個別初期設定用リソース取得. 個別初期設定用リソース登録で登録した情報を取得する. 引数: key IN:登録キー名 例外: invalidThread 分散処理基盤スレッド以外からの実行 internalError 処理異常発生 戻り値: 登録情報のポインタ 補足: 該当キーが存在しない場合はNULLが返る. 76 Copyright © 2014 void* xnode::distributedprocessingbase::mspr::ProcessorInterface::removeResource (const std::string & key) throw common::DistributedException) 個別初期設定用リソース削除. 個別初期設定用リソース登録で登録した情報を削除する. 引数: key IN:登録キー名 例外: invalidThread 分散処理基盤スレッド以外からの実行 internalError 処理異常発生 戻り値: 削除された登録情報のポインタ. 補足: 該当キーが存在しない場合はNULLが返る. void xnode::distributedprocessingbase::mspr::ProcessorInterface::removeTask (const std::string & taskId) throw common::DistributedException) 非同期タスクの登録解除(非救済). 登録済みの非同期タスクをキャンセルする. 引数: taskId IN:非同期タスク登録時に払いだされた非同期タスク ID 例外: notStarted サービス開始前/停止後の実行 internalError 処理異常発生 戻り値: なし. 注意: 既に実行中のタスクについてはキャンセルできない. 本APIはサービス開始通知後に使用可能となり, 保守減設に伴うサービス停止以降は使用不可となる. void xnode::distributedprocessingbase::mspr::ProcessorInterface::setDataListener (IDataListener * listener) throw common::DistributedException) DDCデータ処理用リスナ登録. 引数: listener IN:コールバック用のリスナ 例外: invalidArgument パラメータ異常 戻り値: なし. 77 Copyright © 2014 void xnode::distributedprocessingbase::mspr::ProcessorInterface::setFactoryListener (IFactoryListener * listener) throw common::DistributedException) APLリスナクラス生成用リスナ登録. 引数: listener IN:コールバック用のリスナ 例外: invalidArgument パラメータ異常 戻り値: なし. 注意: APLは必ずこのリスナ登録を行うこと. 78 Copyright © 2014 3.17. xnode::distributedprocessingbase::Socket バッファリング処理を隠蔽するためのソケットクラス. "distributedprocessingbase.h"で定義される. 3.17.1. Public メソッド一覧 virtual int read (char *buffer, int count)=0 throw (common::DistributedException) virtual int getConnectionId ()=0 virtual ~Socket ()=0 3.17.2. Static Public メソッド一覧 なし. 3.17.3. 列挙型 なし. 3.17.4. メソッド virtual xnode::distributedprocessingbase::Socket::~Socket ()[pure virtual] デストラクタ. 引数: なし. virtual int xnode::distributedprocessingbase::Socket::getConnectionId ()[pure virtual] TCPコネクションID取得. 引数: なし. 戻り値: TCPコネクションID. 補足: TCPコネクションIDはTCP信号送信API使用時に指定する. 79 Copyright © 2014 virtual int xnode::distributedprocessingbase::Socket::read (char * buffer, int count) throw common::DistributedException) [pure virtual] ソケットからの読み込み. 本インスタンスでバッファリングしているデータが存在する場合は, バッファから読み込んだデータを返す. それ以降はソ ケットから読み込んだデータを返す. 引数: buffer OUT:読み込みデータを格納するバッファ count IN:読み込みバイト数 例外: internalError 処理異常発生 ioError IO エラー 戻り値: 実際に読み込まれたバイト数(切断された場合は-1). 補足: コネクションが切断された場合は, -1を返す. 80 Copyright © 2014 3.18. xnode::distributedprocessingbase::comc::TcpConnectionMng TCP コネクション管理クラス. "TcpConnectionMng.hpp"で定義される. 3.18.1. Public メソッド一覧 virtual void getTcpConnectionInfo (int aTcpConnId, int &aSrcPort, std::string &aDstAddr, int &aDstPort, sv_socket_id_t &aSocketId)=0 throw (common::DistributedException) virtual void connect (const std::string &aDstAddr, int aDstPort, const std::string &aSrcAddr, int aSrcPort, int &aTcpConnId)=0 throw (common::DistributedException) virtual void disconnect (int aTcpConnId)=0 throw (common::DistributedException) 3.18.2. Static Public メソッド一覧 static TcpConnectionMng & getInstanceProc (void) 3.18.3. 列挙型 なし. 3.18.4. メソッド virtual void xnode::distributedprocessingbase::comc::TcpConnectionMng::connect (const std::string & aDstAddr, int aDstPort, const std::string & aSrcAddr, int aSrcPort, int & aTcpConnId) throw common::DistributedException) [pure virtual] 接続要求. サーバ基盤 API を使用した TCP ソケット生成から TCP コネクション接続までの一連の流れを吸収し, 確立した TCP コネク ションの管理を行う. 引数: aDstAddr IN:接続先 IP アドレス aDstPort IN:接続先ポート番号 aSrcAddr IN:接続元 IP アドレス aSrcPort IN:接続元ポート番号 aTcpConnId OUT:TCP コネクション ID 例外: invalidArgument パラメータ異常 serverApiError サーバ基盤 API エラー internalError 処理異常発生 戻り値: なし. 補足: 接続元ポート番号に短命ポートを使用する場合は0を指定する. 81 Copyright © 2014 virtual void xnode::distributedprocessingbase::comc::TcpConnectionMng::disconnect (int aTcpConnId) throw common::DistributedException) [pure virtual] 切断要求. 入力された TCP コネクション ID に紐付く TCP ソケットをクローズし, 切断した TCP コネクションを管理情報から削除す る. 引数: aTcpConnId IN:TCP コネクション ID 例外: invalidArgument パラメータ異常 serverApiError サーバ基盤 API エラー connectionNotExist 指定されたコネクションの登録がない internalError 処理異常発生 戻り値: なし. static TcpConnectionMng& xnode::distributedprocessingbase::comc::TcpConnectionMng::getInstanceProc (void )[static] TCPコネクション管理クラス(P用)インスタンス取得. TCP コネクション管理クラス(P 用)のインスタンスを取得する. 引数: なし. 例外: なし. 戻り値: TCPコネクション管理クラス(P用)インスタンス. 補足: 本クラス唯一のスタティックなインスタンスの参照を戻り値で返す. TCPコネクション管理クラス(P用)のAPIを使用する場合には, まず本APIにてインスタンスを取得し, そのインスタンス 注意: 経由で各APIを呼び出すこと. 82 Copyright © 2014 virtual void xnode::distributedprocessingbase::comc::TcpConnectionMng::getTcpConnectionInfo (int aTcpConnId, int & aSrcPort, std::string & aDstAddr, int & aDstPort, sv_socket_id_t & aSocketId) throw common::DistributedException) [pure virtual] TCPコネクション情報取得. 入力された TCP コネクション ID に対応した各種情報を返却する. 引数: aTcpConnId IN:TCP コネクション ID aSrcPort OUT:接続元ポート番号 aDstAddr OUT:接続先 IP アドレス aDstPort OUT:接続先ポート番号 aSocketId OUT:ソケット ID 例外: invalidArgument パラメータ異常 connectionNotExist 指定されたコネクションの登録がない internalError 処理異常発生 戻り値: なし. 83 Copyright © 2014 3.19. xnode::distributedprocessingbase::cmnp::ThreadPool スレッドプールクラス. "ThreadPool.hpp"で定義される. 3.19.1. Public メソッド一覧 void startThread (void *aThreadArgPtr, void *aOcInitResourcePtr, void *aMzInitResourcePtr, bool aQueueFlag) throw (common::DistributedException) void getAvailableThreadNum (int &aTotalNum, int &aAvailableNum) throw (common::DistributedException) 3.19.2. Static Public メソッド一覧 static void registOneCallInitParameter (void *aParameterPtr) throw (common::DistributedException) static void deleteOneCallInitParameter (void) throw (common::DistributedException) static void getOneCallInitParameter (void *&aParameterPtr) throw (common::DistributedException) static void registMazeParameter (void *aParameterPtr) throw (common::DistributedException) static void deleteMazeParameter (void) throw (common::DistributedException) static void getMazeParameter (void *&aParameterPtr) throw (common::DistributedException) static void registMazeObservation (sv_time_msec_t aObserveTime, sv_thr_maze_observe_kind_t aOvserveKind) throw (common::DistributedException) static void deleteMazeObservation (void) throw (common::DistributedException) static void getAvailableThreadNum (sv_thr_pool_id_t aThr_poolId, int &aTotalNum, int &aAvailableNum) throw (common::DistributedException) static void getThreadId (sv_thr_id_t &aThreadId) throw (common::DistributedException) static void getThreadPoolId (sv_thr_pool_id_t &aThreadPoolId) throw (common::DistributedException) static void exitThread (void) throw (common::DistributedException) 3.19.3. 列挙型 なし. 84 Copyright © 2014 3.19.4. メソッド static void xnode::distributedprocessingbase::cmnp::ThreadPool::deleteMazeObservation (void ) throw common::DistributedException) [static] 自スレッド メーズ監視解除. registMazeObservation にて行われたメーズ監視登録を解除する. 引数: なし. 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrDeleteMazeObservation()をラップするため, 詳細については「サーバ基盤_API 仕様書」も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. static void xnode::distributedprocessingbase::cmnp::ThreadPool::deleteMazeParameter (void ) throw common::DistributedException) [static] リソース登録解除(自スレッドのメーズ検出時用). 自スレッドのメーズ検出時実行エントリが起動された際に渡される引数を削除する. 引数: なし. 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrDeleteMazeParameter()をラップするため, 詳細については「サーバ基盤_API仕 様書」も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. 85 Copyright © 2014 static void xnode::distributedprocessingbase::cmnp::ThreadPool::deleteOneCallInitParameter (void ) throw common::DistributedException) [static] リソース登録解除(自スレッドの個別初期設定用). 自スレッドの個別初期設定エントリが起動された際に渡される引数を削除する. 引数: なし. 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrDeleteOneCallInitParameter()をラップするため, 詳細については「サーバ基盤 _API仕様書」も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. static void xnode::distributedprocessingbase::cmnp::ThreadPool::exitThread (void ) throw common::DistributedException) [static] 自スレッド終了. 自スレッドを終了する. 引数: なし. 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrExitDeleteThred()をラップするため, 詳細については「サーバ基盤_API仕様書」 も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. 注意: メーズ発生時, 個別初期設定発生時のコールバックでは本APIを呼び出してスレッドを終了する必要がある. ただし, スレッド起動エントリのコールバックでは本APIを呼び出してはならない. 86 Copyright © 2014 static void xnode::distributedprocessingbase::cmnp::ThreadPool::getAvailableThreadNum (sv_thr_pool_id_t aThr_poolId, int & aTotalNum, int & aAvailableNum) throw common::DistributedException) [static] スレッドプール空きスレッド数取得. スレッドプールの全スレッド数と利用可能な空きスレッド数を取得する. 引数: aThr_poolId IN:スレッドプール ID aTotalNum OUT:自スレッドプール全スレッド数 aAvailableNum OUT:自スレッドプール空きスレッド数 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrGetThreadNumber()をして空きスレッド数を取得する. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. void xnode::distributedprocessingbase::cmnp::ThreadPool::getAvailableThreadNum (int & aTotalNum, int & aAvailableNum) throw common::DistributedException) 自スレッドプール空きスレッド数取得. 自スレッドプールの全スレッド数と利用可能な空きスレッド数を取得する. 引数: aTotalNum OUT:自スレッドプール全スレッド数 aAvailableNum OUT:自スレッドプール空きスレッド数 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrGetThreadNumber()をして空きスレッド数を取得する. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. 87 Copyright © 2014 static void xnode::distributedprocessingbase::cmnp::ThreadPool::getMazeParameter (void *& aParameterPtr) throw common::DistributedException) [static] リソース参照(自スレッドのメーズ検出時用). 自スレッドの個別初期設定エントリ, メーズ検出時実行エントリが起動された際に渡される引数を参照する. 引数: aParameterPtr OUT:リソースポインタ(メーズ) 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrReferMazeParameter()をラップするため, 詳細については「サーバ基盤_API仕様 書」も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. static void xnode::distributedprocessingbase::cmnp::ThreadPool::getOneCallInitParameter (void *& aParameterPtr) throw common::DistributedException) [static] リソース参照(自スレッドの個別初期設定用). 自スレッドの個別初期設定エントリが起動された際に渡される引数を参照する. 引数: aParameterPtr OUT:リソースポインタ(個別初期設定) 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrReferOneCallInitParameter()をラップするため, 詳細については「サーバ基盤 _API仕様書」も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. 88 Copyright © 2014 static void xnode::distributedprocessingbase::cmnp::ThreadPool::getThreadId (sv_thr_id_t & aThreadId) throw common::DistributedException) [static] 自スレッドID取得. 自スレッドのスレッド ID を取得する. 引数: aThreadId OUT:自スレッド ID 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrGetSelfThreadId()をラップするため, 詳細については「サーバ基盤_API仕様書」 も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. static void xnode::distributedprocessingbase::cmnp::ThreadPool::getThreadPoolId (sv_thr_pool_id_t & aThreadPoolId) throw common::DistributedException) [static] 自スレッドプールID取得. 自スレッドが所属するスレッドプールのプール ID を取得する. 引数: aThreadPoolId OUT:自スレッドプール ID 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrGetThreadPoolId()をラップするため, 詳細については「サーバ基盤_API仕様書」 も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. 89 Copyright © 2014 static void xnode::distributedprocessingbase::cmnp::ThreadPool::registMazeObservation (sv_time_msec_t aObserveTime, sv_thr_maze_observe_kind_t aOvserveKind) throw common::DistributedException) [static] 自スレッド メーズ監視登録. 自スレッドに対して, 指定された時間にてメーズの監視を開始する. 引数: aObserveTime IN:監視時間(単位:ミリ秒) aOvserveKind IN:監視種別(CPU 時間/実時間) 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrRegisterMazeObservation()をラップするため, 詳細については「サーバ基盤 _API仕様書」も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. static void xnode::distributedprocessingbase::cmnp::ThreadPool::registMazeParameter (void * aParameterPtr) throw common::DistributedException) [static] リソース登録(自スレッドのメーズ検出時用). 自スレッドのメーズ検出時実行エントリが起動された際に渡される引数を登録する. 引数: aParameterPtr IN:リソースポインタ(メーズ) 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのSvThrRegisterMazeParameter()をラップするため, 詳細については「サーバ基盤_API 仕様書」も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. 90 Copyright © 2014 static void xnode::distributedprocessingbase::cmnp::ThreadPool::registOneCallInitParameter (void * aParameterPtr) throw common::DistributedException) [static] リソース登録(自スレッドの個別初期設定用). 自スレッドの個別初期設定エントリが起動された際に渡される引数を登録する. 引数: aParameterPtr IN:リソースポインタ(個別初期設定) 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのsvThrRegisterOneCallInitParameter()をラップするため, 詳細については「サーバ基盤 _API仕様書」も参照のこと. 本APIの代わりにサーバ基盤APIを直接呼び出してもよい. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. void xnode::distributedprocessingbase::cmnp::ThreadPool::startThread (void * aThreadArgPtr, void * aOcInitResourcePtr, void * aMzInitResourcePtr, bool aQueueFlag) throw common::DistributedException) スレッド起動. スレッドプールからスレッドを一つ起動する. 引数: aThreadArgPtr IN:スレッド引き継ぎパラメータ aOcInitResourcePtr IN:リソースポインタ(個別初期設定) aMzInitResourcePtr IN:リソースポインタ(メーズ) aQueueFlag IN:スレッドプール枯渇時のキューイング(true:有効, false:無効) 例外: serverApiError サーバ基盤 API エラー internalError 処理異常発生 戻り値: なし. 補足: スレッドプール枯渇時のキューイング(aQueueFlag) true:スレッドプールに空きがない場合, キューイングを行い, メソッドからは即復帰. スレッドプールクラス内で, スレッドプールに空きが発生次第実行する. false:スレッドプールに空きがない場合, サーバ基盤APIでエラー発生により 例外(serverApiError/SV_E_NOTHR) をthrowする. 本メソッドは, サーバ基盤APIのsvThrStartPoolThread()をラップするため, 詳細については「サーバ基盤_API仕様書」 も参照のこと. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. サーバ基盤APIのスレッド終了呼び出し(svThrExitDeleteThread)はスレッド起動エントリ終了時にスレッドプールクラ 注意: ス内部で行うため, 上位からの呼び出しは不要. ただし, メーズ発生時, 個別初期設定発生時はクラス内部でスレッド終 了を呼び出さないため, ユーザ側で呼び出す必要がある. 91 Copyright © 2014 3.20. xnode::distributedprocessingbase::cmnp::ThreadPoolMng スレッドプールマネージャクラス. "ThreadPoolMng.hpp"で定義される. 3.20.1. Public メソッド一覧 void create (int aThreadNum, sv_thr_attr_t *aAttributePtr, void *(*aThreadEntryPtr)(void *), void *(*aOcInitEntryPtr)(sv_thr_id_t, void *), void *(*aMzInitEntryPtr)(sv_thr_id_t, void *), sv_thr_pool_id_t &aThreadPoolId, ThreadPool *&aThreadPoolPtr) throw (common::DistributedException) void release (ThreadPool *aThreadPoolPtr) throw (common::DistributedException) 3.20.2. Static Public メソッド一覧 static ThreadPoolMng & getInstance (void) 3.20.3. 列挙型 なし. 92 Copyright © 2014 3.20.4. メソッド void xnode::distributedprocessingbase::cmnp::ThreadPoolMng::create (int aThreadNum, sv_thr_attr_t * aAttributePtr, void *(*)(void *) aThreadEntryPtr, void *(*)(sv_thr_id_t, void *) aOcInitEntryPtr, void *(*)(sv_thr_id_t, void *) aMzInitEntryPtr, sv_thr_pool_id_t & aThreadPoolId, ThreadPool *& aThreadPoolPtr) throw common::DistributedException) スレッドプールインスタンス生成. スレッドプールクラスのインスタンスを生成して返却すると共に, 本クラス内部で管理する. 引数: aThreadNum IN:スレッド数 aAttributePtr IN:スレッド属性 aThreadEntryPtr IN:スレッド起動エントリアドレス(CallBack) aOcInitEntryPtr IN:個別初期設定発生エントリアドレス(CallBack) aMzInitEntryPtr IN:メーズ発生エントリアドレス(CallBack) aThreadPoolId OUT:スレッドプール ID aThreadPoolPtr OUT:スレッドプールクラスインスタンス 例外: serverApiError サーバ基盤 API エラー internalError 処理異常発生 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのスレッドプール生成(svThrCreateThreadPool)をラップするため, 詳細については「サ ーバ基盤_API仕様書」も参照のこと. スレッド起動エントリ, 個別初期設定発生エントリ, メーズ発生エントリの戻り値(void*)はエントリ起動元にとって Don’t careである(NULL返却で良い). サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. 各コールバック関数のエントリ定義は「サーバ基盤_API仕様書」を参照のこと. static ThreadPoolMng& xnode::distributedprocessingbase::cmnp::ThreadPoolMng::getInstance (void )[static] スレッドプールマネージャクラスインスタンス取得. スレッドプールマネージャクラス唯一のインスタンス取得する. 引数: なし. 例外: なし. 戻り値: スレッドプールマネージャクラスインスタンス. 93 Copyright © 2014 void xnode::distributedprocessingbase::cmnp::ThreadPoolMng::release (ThreadPool * aThreadPoolPtr) throw common::DistributedException) スレッドプールインスタンス解放. スレッドプールを強制削除し, 本クラス内部で管理しているスレッドプールクラスのインスタンスを解放する. 引数: aThreadPoolPtr IN:スレッドプールクラスインスタンス 例外: serverApiError サーバ基盤 API エラー internalError 処理異常発生 戻り値: なし. 補足: 管理外のスレッドプールクラスインスタンス指定した場合, 例外(internalError)をthrowする. 本メソッドは, サーバ基盤APIのスレッドプール削除(svThrDeleteThreadPool)を ラップするため, 詳細については「サ ーバ基盤_API仕様書」も参照のこと. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. 94 Copyright © 2014 3.21. xnode::distributedprocessingbase::cmnp::TimerMng タイママネージャクラス. "TimerMng.hpp"で定義される. 3.21.1. Public メソッド一覧 void regist (enum ERegisterKind aRegisterKind, int aRegisterUid, void *(*aTimerEntryPtr)(sv_tmr_timer_id_t, sv_tmr_timer_name_t, void *, int, int), void *aEntryParamPtr, void *(*aOcInitEntryPtr)(sv_thr_id_t, void *), void *aOcArgPtr, void *(*aMzInitEntryPtr)(sv_thr_id_t, void *), void *aMzArgPtr, const sv_tmr_timer_attr_t &aAttributePtr, sv_tmr_timer_id_t &aTimerId) throw (common::DistributedException) void cancel (sv_tmr_timer_id_t aTimerId, bool aFlag) throw (common::DistributedException) void cancelAll (bool aFlag) throw (common::DistributedException) void getList (std::vector< sv_tmr_timer_info_t > &aTimerInfoList) throw (common::DistributedException) void getTimerInfo (sv_tmr_timer_id_t aTimerId, sv_tmr_timer_info_t &aTimerInfo) throw (common::DistributedException) void getTimePoolThreadNumber (int &aTotalNum, int &aAvailableNum) throw (common::DistributedException) 3.21.2. Static Public メソッド一覧 static TimerMng & getInstance (void) 3.21.3. 列挙型 なし. 95 Copyright © 2014 3.21.4. メソッド void xnode::distributedprocessingbase::cmnp::TimerMng::cancel (sv_tmr_timer_id_t aTimerId, bool aFlag) throw common::DistributedException) タイマ解除. 指定されたタイマ ID のタイマ解除を行う. 引数: aTimerId IN:タイマ ID aFlag IN:強制削除フラグ(true:有効, false:無効) 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 指定タイマが起動中であってもタイマを停止させるか否かを強制削除フラグで指定することができる. タイマ起動中とは タイマ満了によりタイマ起動エントリが 実行中であることを意味する. 本メソッドは, サーバ基盤APIのタイマ解除(svTmrCancelTimer)をラップするため, 詳細については「サーバ基盤_API 仕様書」も参照のこと. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. void xnode::distributedprocessingbase::cmnp::TimerMng::cancelAll (bool aFlag) throw common::DistributedException) タイマ全解除. 登録済みのタイマを全て解除する. 引数: aFlag IN:強制削除フラグ(true:有効, false:無効) 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのタイマ全解除(svTmrCancelAllTimer)をラップするため, 詳細については「サーバ基盤 _API仕様書」も参照のこと. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. 96 Copyright © 2014 static TimerMng& xnode::distributedprocessingbase::cmnp::TimerMng::getInstance (void )[static] タイママネージャクラスインスタンス取得. タイママネージャクラス唯一のインスタンス取得する. 引数: なし. 例外: なし. 戻り値: タイママネージャクラスインスタンス. void xnode::distributedprocessingbase::cmnp::TimerMng::getList (std::vector< sv_tmr_timer_info_t > & aTimerInfoList) throw common::DistributedException) タイマリスト取得. 現在登録されているタイマ数分, タイマ情報をリストで取得する. 引数: aTimerInfoList OUT:タイマ情報リスト 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのタイマリスト表示(svTmrGetTimerList)をラップするため, 詳細については「サーバ基盤 _API仕様書」も参照のこと. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. サーバ基盤APIのタイマリスト表示(svTmrGetTimerList)内部で確保された格納先領域は 本メソッド終了時に解放され る. 97 Copyright © 2014 void xnode::distributedprocessingbase::cmnp::TimerMng::getTimePoolThreadNumber (int & aTotalNum, int & aAvailableNum) throw common::DistributedException) タイマ用スレッドプール利用可能スレッド数の取得. タイマ用スレッドプールの全スレッド数と未使用スレッド数を取得する. 引数: aTotalNum OUT:タイマ用スレッドプールの全スレッド数 aAvailableNum OUT:タイマ用スレッドプール内の未使用スレッド数 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: タイマにて確保されているスレッドプールの全スレッド数と, 本API発行時点で払いだされていない未使用スレッド数を 取得する. "全スレッド数" - "未使用スレッド数" が動作中タイマ数となる. 本メソッドは, サーバ基盤APIのタイマ用スレッドプール利可能数の取得 (svTmrGetPoolThreadNumber)をラップする ため, 詳細については 「サーバ基盤_API仕様書」も参照のこと. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. void xnode::distributedprocessingbase::cmnp::TimerMng::getTimerInfo (sv_tmr_timer_id_t aTimerId, sv_tmr_timer_info_t & aTimerInfo) throw common::DistributedException) タイマ参照. 指定されたタイマ ID のタイマ情報を取得する. 引数: aTimerId IN:タイマ ID aTimerInfo OUT:タイマ情報 例外: serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: 本メソッドは, サーバ基盤APIのタイマ参照(ID指定)(svTmrGetTimerInfo)を ラップするため, 詳細については「サーバ 基盤_API仕様書」も参照のこと. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. タイマ参照(ID指定)(svTmrGetTimerInfo)の呼び出し時に設定する. 98 Copyright © 2014 void xnode::distributedprocessingbase::cmnp::TimerMng::regist (enum ERegisterKind aRegisterKind, int aRegisterUid, void *(*)(sv_tmr_timer_id_t, sv_tmr_timer_name_t, void *, int, int) aTimerEntryPtr, void * aEntryParamPtr, void *(*)(sv_thr_id_t, void *) aOcInitEntryPtr, void * aOcArgPtr, void *(*)(sv_thr_id_t, void *) aMzInitEntryPtr, void * aMzArgPtr, const sv_tmr_timer_attr_t & aAttributePtr, sv_tmr_timer_id_t & aTimerId) throw common::DistributedException) タイマ登録. 指定された時刻に, タイマ用スレッドプールからスレッドを払い出し, 指定されたエントリの関数起動を行う. 引数: aRegisterKind IN:登録者種別(APL/MDL) aRegisterUid IN:登録者毎ユニーク ID aTimerEntryPtr IN:タイマ起動エントリアドレス(Call Back) aEntryParamPtr IN:タイマ起動エントリパラメータ aOcInitEntryPtr IN:個別初期設定エントリアドレス aOcArgPtr IN:個別初期設定エントリに渡すリソースポインタ aMzInitEntryPtr IN:メーズ発生時起動エントリアドレス aMzArgPtr IN:メーズ検出時実行エントリに渡すリソースポインタ aAttributePtr IN:タイマ属性 aTimerId OUT:タイマ ID 例外: invalidArgument パラメータ異常 serverApiError サーバ基盤 API エラー 戻り値: なし. 補足: タイマ起動エントリアドレス(Call Back)の関数定義. void* (aTimerEntryPtr)( sv_tmr_timer_id_t aTimerId, // IN:タイマID sv_tmr_timer_name_t aTimerName, // IN:タイマ名称 void aEntryParam, // IN:タイマ起動エントリパラメータ int aLastFlag, // IN:最終回フラグ int aSkipNum // IN:スキップ回数 ); 登録者種別(aRegisterKind)に無効を設定した場合, 登録者毎ユニークIDはDon't careとする. タイマ起動エントリパラメータには, どのタイマが満了したかを容易に特定するための情報を, 登録者が自由に設定でき る. (例えば, 通知したいクラスのインスタンスを登録) タイマ起動エントリ内で個別初期設定/メーズが発生した場合に実行されるエントリを個別初期設定エントリ, メーズ発 生時エントリとして登録可能である. NULLを指定することにより省略可能である. 省略したタイマ内で異常が発生した場 合は プロセス終了する. タイマ起動エントリの個別初期設定用リソース, メーズ検出時用リソースの登録・参照・解除は スレッドプールクラスが 提供する以下のAPIを用いて行うことができる リソース登録(自スレッドの個別初期設定用) リソース参照(自スレッドの個別初期設定用) リソース登録解除(自スレッドの個別初期設定用) リソース登録(自スレッドのメーズ検出時用) 99 Copyright © 2014 リソース参照(自スレッドのメーズ検出時用) リソース登録解除(自スレッドのメーズ検出時用) タイマ起動エントリにてスレッドプールクラスが提供する"自スレッドメーズ監視登録", "自スレッド メーズ監視解除"を 発行することで, タイマ起動エントリの メーズ監視開始とメーズ監視終了が行える. タイマ起動エントリで通知するタイマ名称について,タイマ登録時に設定した登録者種別 (aRegisterKind)(APL:0x00000000, MDL: 0x10000000)と登録者ユニークID(aRegisterUid)(0x04000000~ 0x0FFFFFFF)の論理和が設定される. 登録者種別(aRegisterKind)に無効を設定した場合は,サーバ基盤APIで定義されて いる名称無しタイマ(SV_TMR_REG_NONAME)が設定される. タイマ起動エントリの戻り値(void*)はエントリ起動元にとってDon’t careである(NULL返却で良い). 本メソッドは, サーバ基盤APIのタイマ登録(svTmrRegisterTimer)をラップするため, 詳細については「サーバ基盤_API 仕様書」も参照のこと. サーバ基盤API側でエラーが返却された場合, 例外(serverApiError)をthrowする. 登録者毎ユニークIDについて 注意: 登録者種別に無効以外を設定する場合は, 以下の範囲で指定すること. 0x04000000~0x0FFFFFFF 100 Copyright © 2014 3.22. xnode::distributedprocessingbase::comc::UdpControl UDP 通信制御クラス. "UdpControl.hpp"で定義される. 3.22.1. Public メソッド一覧 virtual void send (const std::string &aDstAddr, int aDstPort, const std::string &aSrcAddr, int aSrcPort, void *aBufferPtr, size_t aSendSize)=0 throw (common::DistributedException) 3.22.2. Static Public メソッド一覧 static UdpControl & getInstanceProc (void) 3.22.3. 列挙型 なし. 3.22.4. メソッド static UdpControl& xnode::distributedprocessingbase::comc::UdpControl::getInstanceProc (void )[static] UDP通信制御クラス(P用)インスタンス取得. UDP 通信制御クラス(P 用)のインスタンスを取得する. 引数: なし. 例外: なし. 戻り値: UDP通信制御クラス(P用)インスタンス. 補足: 本クラス唯一のスタティックなインスタンスの参照を戻り値で返す. UDPコネクション管理クラス(P用)のAPIを使用する場合には, まず本APIにてインスタンスを取得し, そのインスタンス 注意: 経由で各APIを呼び出すこと. 101 Copyright © 2014 virtual void xnode::distributedprocessingbase::comc::UdpControl::send (const std::string & aDstAddr, int aDstPort, const std::string & aSrcAddr, int aSrcPort, void * aBufferPtr, size_t aSendSize) throw common::DistributedException) [pure virtual] 送信要求. サーバ基盤 API を使用した UDP 送信を行う. 引数: aDstAddr IN:送信先 IP アドレス aDstPort IN:送信先ポート番号 aSrcAddr IN:送信元 IP アドレス aSrcPort IN:送信元ポート番号 aBufferPtr IN:Buffer ポインタ aSendSize IN:送信サイズ 例外: invalidArgument パラメータ異常 serverApiError サーバ基盤 API エラー internalError 処理異常発生 戻り値: なし. 補足: Buffer領域は呼び元で捕捉/管理している領域とする. 送信完了後の解放も必要に応じて呼び元で実施する. (Buffer領域は, stack/static領域, heap領域, Buffer捕捉APIで獲得した領域のいずれでも良い) 注意: PS-APLの場合, 送信元IPアドレス/送信元ポート番号には, BのIPアドレス/ポート番号を設定すること. 102 Copyright © 2014 4. ファイル 4.1. aplinit.h APL 初期化・終了関数ヘッダ. 4.1.1. インクルードファイル #include <stdbool.h> 4.1.2. 関数一覧 bool init_application (void) bool start_application (void) bool destroy_application (void) 4.1.3. 関数 bool destroy_application (void ) APLへのサービス停止・終了通知. 戻り値: 処理結果(true:正常終了, false:異常終了). bool init_application (void ) APLへの初期化通知. 戻り値: 処理結果(true:正常終了, false:異常終了). bool start_application (void ) APLへのサービス開始通知. 戻り値: 処理結果(true:正常終了, false:異常終了). 4.1.4. マクロ定義 なし. 103 Copyright © 2014 4.2. BufferPool.hpp バッファプールクラスヘッダ. 4.2.1. インクルードファイル #include "DistributedException.hpp" #include <boost/thread/thread.hpp> 4.2.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::cmnp 共通部品 FB の名前空間. 4.2.3. クラス一覧 class xnode::distributedprocessingbase::cmnp::BufferPool バッファプールクラス. 4.2.4. マクロ定義 なし. 104 Copyright © 2014 4.3. BufferPoolMng.hpp バッファプールマネージャクラスヘッダ. 4.3.1. インクルードファイル #include <sv_api.h> #include "DistributedException.hpp" #include "BufferPool.hpp" 4.3.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::cmnp 共通部品 FB の名前空間. 4.3.3. クラス一覧 class xnode::distributedprocessingbase::cmnp::BufferPoolMng バッファプールマネージャクラス. 4.3.4. マクロ定義 なし. 105 Copyright © 2014 4.4. datacontainer.h データコンテナ FB の名前空間のヘッダ. 4.4.1. インクルードファイル #include "distributedprocessingbase.h" 4.4.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::dtct データコンテナ FB の名前空間. 4.4.3. クラス一覧 class xnode::distributedprocessingbase::dtct::Ddc 分散処理基盤の管理データである DistributedDataContainer を表すクラス. 4.4.4. マクロ定義 なし. 106 Copyright © 2014 4.5. dispatcher.h 振り分け制御 FB の名前空間のヘッダ. 4.5.1. インクルードファイル #include "distributedprocessingbase.h" 4.5.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::msdp 振り分け制御 FB の名前空間. 4.5.3. クラス一覧 class xnode::distributedprocessingbase::msdp::DispatcherInterface 振り分け制御 FB の APL 向けインターフェイスクラス. 4.5.4. マクロ定義 なし. 107 Copyright © 2014 4.6. DistributedException.hpp 分散処理基盤 APL 向け共通例外クラスヘッダ. 4.6.1. インクルードファイル #include <string> #include <vector> 4.6.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::common common の名前空間. 4.6.3. クラス一覧 class 分散処理基盤がスローする APL 向け共通例外クラス. xnode::distributedprocessingbase::common::DistributedException 4.6.4. マクロ定義 なし. 108 Copyright © 2014 4.7. distributedprocessingbase.h 分散処理基盤の名前空間のヘッダ. 4.7.1. インクルードファイル #include <string> #include <stdint.h> #include <boost/serialization/export.hpp> #include <boost/serialization/serialization.hpp> #include <boost/serialization/string.hpp> #include "DistributedException.hpp" #include "LogMng.hpp" 4.7.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. 4.7.3. クラス一覧 class xnode::distributedprocessingbase::DispatchKey 振り分けキーデータを保持するクラス. class xnode::distributedprocessingbase::Socket バッファリング処理を隠蔽するためのソケットクラス. 4.7.4. マクロ定義 なし. 109 Copyright © 2014 4.8. LogMng.hpp LOG 管理クラスヘッダ. 4.8.1. インクルードファイル #include <string> #include <map> 4.8.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::logm ログ管理 FB の名前空間. 4.8.3. クラス一覧 class xnode::distributedprocessingbase::logm::LogMng LOG 管理クラス. 4.8.4. マクロ定義 #define LOGM_APL_EVT_CRI( format, ...) イベントログ収集要求(Critical Error用). Critical Error として通知すべきイベント発生時に APL からログの収集を要求する. 補足: システム停止の要因となり得る障害を検出した時のログ出力を想定. #define LOGM_APL_EVT_DBG_LV1( format, ...) イベントログ収集要求(Debug Level1[ST]用). Debug に必要なイベントを通知する時に APL からログの収集を要求する. 補足: Level1はST確認用として開発者任意のログ出力を想定. 性能に影響を及ぼすログは禁止. ConfigのAPL Debug出力レベルがLevel1以上で有効. 注意: 110 Copyright © 2014 #define LOGM_APL_EVT_DBG_LV2( format, ...) イベントログ収集要求(Debug Level2[IT]用). Debug に必要なイベントを通知する時に APL からログの収集を要求する. 補足: Level2はIT確認用として開発者任意のログ出力を想定. ConfigのAPL Debug出力レベルがLevel2以上で有効. 注意: #define LOGM_APL_EVT_DBG_LV3( format, ...) イベントログ収集要求(Debug Level3[CT]用). Debug に必要なイベントを通知する時に APL からログの収集を要求する. 補足: Level3はCT確認用として開発者任意のログ出力を想定. ConfigのAPL Debug出力レベルがLevel3以上で有効. 注意: #define LOGM_APL_EVT_ERR( format, ...) イベントログ収集要求(Error用). Error として通知すべきイベント発生時に APL からログの収集を要求する. 補足: パラメータ異常, 状態不整合や, API実行エラー等, システム停止には至らないが 処理失敗となり得るような障害を検出 した時のログ出力を想定. #define LOGM_APL_EVT_INFO( format, ...) イベントログ収集要求(Info用). Information として通知すべきイベント発生時に APL からログの収集を要求する. 補足: APLの状態やデータ変更等の重要イベントが発生した時の, 障害解析で必要となる情報のログ出力を想定. #define LOGM_APL_EVT_WARN( format, ...) イベントログ収集要求(Warning用). Warning として通知すべきイベント発生時に APL からログの収集を要求する. 補足: システム動作には影響ない程度の異常を検出し処理は継続できるような時の, 障害解析で必要となる情報のログ出力を想 定. #define LOGM_APL_IS_EVT_DBG_LV3_ENABLE() イベントログDBGトレースレベル3有効・無効確認. APL のイベントログ収集の Debug Level3 が有効かどうかを確認する. 戻り値: イベントログDBGトレースレベル3有効・無効(true:有効, false:無効) 111 Copyright © 2014 #define LOGM_APL_TRC_LV1_END( format, ...) API終了トレースログ収集要求(Level1用). APL API のトレースために APL から API 終了時にログの収集を要求する. 補足: Level1に応じた収集箇所はAPLで規定. ConfigのAPL APIトレース出力レベルがLevel1以上で有効. 注意: #define LOGM_APL_TRC_LV1_STA( format, ...) API開始トレースログ収集要求(Level1用). APL API のトレースために APL から API 開始時にログの収集を要求する. 補足: Level1に応じた収集箇所はAPLで規定. ConfigのAPL APIトレース出力レベルがLevel1以上で有効. 注意: #define LOGM_APL_TRC_LV2_END( format, ...) API終了トレースログ収集要求(Level2用). APL API のトレースために APL から API 終了時にログの収集を要求する. 補足: Level2に応じた収集箇所はAPLで規定. ConfigのAPL APIトレース出力レベルがLevel2以上で有効. 注意: #define LOGM_APL_TRC_LV2_STA( format, ...) API開始トレースログ収集要求(Level2用). APL API のトレースために APL から API 開始時にログの収集を要求する. 補足: Level2に応じた収集箇所はAPLで規定. ConfigのAPL APIトレース出力レベルがLevel2以上で有効. 注意: #define LOGM_SIG_TRC_P_TCP_RCV( format, ...) P信号(TCP)受信トレースログ収集要求. TCP の P 信号受信時にトレースログの収集を要求する. #define LOGM_SIG_TRC_P_TCP_SND( format, ...) P信号(TCP)送信トレースログ収集要求. TCP の P 信号送信時にトレースログの収集を要求する. 112 Copyright © 2014 #define LOGM_SIG_TRC_P_UDP_RCV( format, ...) P信号(UDP)受信トレースログ収集要求. UDP の P 信号受信時にトレースログの収集を要求する. #define LOGM_SIG_TRC_P_UDP_SND( format, ...) P信号(UDP)送信トレースログ収集要求. UDP の P 信号送信時にトレースログの収集を要求する. 113 Copyright © 2014 4.9. membercontrol.h メンバ制御 FB の名前空間のヘッダ. 4.9.1. インクルードファイル #include <string> #include <vector> #include "distributedprocessingbase.h" #include "DistributedException.hpp" 4.9.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::gmbc メンバ制御 FB の名前空間. 4.9.3. クラス一覧 class メンバ制御 FB の APL 向けインターフェイスクラス. xnode::distributedprocessingbase::gmbc::MemberControlInterface 4.9.4. マクロ定義 なし. 114 Copyright © 2014 4.10. originaldata.h 原本データ管理 FB の名前空間のヘッダ. 4.10.1. インクルードファイル #include "distributedprocessingbase.h" #include "datacontainer.h" 4.10.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::odtm 原本データ管理 FB の名前空間. 4.10.3. クラス一覧 class xnode::distributedprocessingbase::odtm::LocalDdcIdIterator DDCID 取得のイテレータ制御クラス. class 原本データ管理 FB の APL 向けインターフェイスクラス. xnode::distributedprocessingbase::odtm::OriginalDataInterface 4.10.4. マクロ定義 なし. 115 Copyright © 2014 4.11. processor.h 実行制御 FB の名前空間のヘッダ. 4.11.1. インクルードファイル #include <vector> #include <map> #include "distributedprocessingbase.h" #include "datacontainer.h" 4.11.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::mspr 実行制御 FB の名前空間. 4.11.3. クラス一覧 class xnode::distributedprocessingbase::mspr::IAsyncTaskListener 非同期タスク実行用のリスナ基底クラス. class xnode::distributedprocessingbase::mspr::IApplicationListener D 及び PS-APL 処理用のリスナ基底クラス. class xnode::distributedprocessingbase::mspr::IFactoryListener APL のリスナクラス生成用リスナ基底クラス. class xnode::distributedprocessingbase::mspr::IDataListener DDC データに関する APL 処理用リスナ基底クラス. class xnode::distributedprocessingbase::mspr::DefaultDataListener IDataListener のデフォルト実装クラス. class xnode::distributedprocessingbase::mspr::ProcessorInterface 実行制御 FB の APL 向けインターフェイスクラス. 4.11.4. マクロ定義 なし. 116 Copyright © 2014 4.12. TcpConnectionMng.hpp TCP コネクション管理クラスヘッダ. 4.12.1. インクルードファイル #include <string> #include <vector> #include <sv_api.h> #include "DistributedException.hpp" #include "InnerDistributedException.hpp" 4.12.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::comc 通信制御 FB の名前空間. 4.12.3. クラス一覧 class xnode::distributedprocessingbase::comc::TcpConnectionMng TCP コネクション管理クラス. 4.12.4. マクロ定義 なし. 117 Copyright © 2014 4.13. ThreadPool.hpp スレッドプールクラスヘッダ. 4.13.1. インクルードファイル #include <sv_api.h> #include <queue> #include <boost/thread/thread.hpp> #include "DistributedException.hpp" 4.13.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::cmnp 共通部品 FB の名前空間. 4.13.3. クラス一覧 class xnode::distributedprocessingbase::cmnp::ThreadPool スレッドプールクラス. 4.13.4. マクロ定義 なし. 118 Copyright © 2014 4.14. ThreadPoolMng.hpp スレッドプールマネージャクラスヘッダ. 4.14.1. インクルードファイル #include <sv_api.h> #include "ThreadPool.hpp" #include "DistributedException.hpp" 4.14.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::cmnp 共通部品 FB の名前空間. 4.14.3. クラス一覧 class xnode::distributedprocessingbase::cmnp::ThreadPoolMng スレッドプールマネージャクラス. 4.14.4. マクロ定義 なし. 119 Copyright © 2014 4.15. TimerMng.hpp タイママネージャクラスヘッダ. 4.15.1. インクルードファイル #include <vector> #include <sv_api.h> #include "DistributedException.hpp" 4.15.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::cmnp 共通部品 FB の名前空間. 4.15.3. クラス一覧 class xnode::distributedprocessingbase::cmnp::TimerMng タイママネージャクラス. 4.15.4. マクロ定義 なし. 120 Copyright © 2014 4.16. UdpControl.hpp UDP 通信制御クラスヘッダ. 4.16.1. インクルードファイル #include <string> #include <vector> #include <sv_api.h> #include "InnerDistributedException.hpp" 4.16.2. ネームスペース一覧 xnode 分散処理基盤システムの基本名前空間. xnode::distributedprocessingbase 分散処理基盤の名前空間. xnode::distributedprocessingbase::comc 通信制御 FB の名前空間. 4.16.3. クラス一覧 class xnode::distributedprocessingbase::comc::UdpControl UDP 通信制御クラス. 4.16.4. マクロ定義 なし. 121 Copyright © 2014 1.日本電信電話株式会社は,本資料の使用者に対して(1)及び(2)の行為を行うことを許諾します. (1)本資料の全部または一部を複製すること. (2)本ページに記載されている使用条件を配布先に遵守させることを条件に本資料の複製物を無償で再配布すること. 2.資料の使用者は,項番 1 に定める場合を除き,営利目的,非営利目的に関わらず日本電信電話株式会社の本資料の 全部または一部を許諾なく無断で利用することはできません. 3.日本電信電話株式会社は,本資料が第三者の著作権,特許権,実用新案権等の知的財産権その他の権利に抵触しない ことを保証するものではなく,また,本資料の内容に誤りがあった場合でも一切責任を負いかねます. 4.日本電信電話株式会社は,項番1に記載された許諾内容を除き,日本電信電話株式会社または第三者の著作権,特許 権,実用新案権等の知的財産権に基づくいかなる権利を許諾するものではありません. 5.日本電信電話株式会社は,本資料のシステム開発への使用,開発されたシステムの使用,及び当該システムの使用不 能等により生じるいかなる損害についても,なんら責任を負うものではありません. 122 Copyright © 2014
© Copyright 2024 ExpyDoc