2 - NTT

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