TSCProxyObject(C++)
TSCProxyObjectはシステム提供クラスです。
TSCProxyObjectはTSCObjectの代理クラスです。TSCProxyObjectを呼び出すと,OTMのスケジューリング機構を経由してTSCObjectが呼び出されます。
ユーザは,サーバアプリケーションのTSCユーザオブジェクトが提供するサービスを利用するときに,TSCProxyObjectクラスのインスタンスを生成して呼び出します。次にTSCProxyObjectの特徴を示します。
TSCサービス識別子によるサービスの識別
TSCサービス識別子の構成
TSCProxyObjectを使用して利用するサービスの種類は,TSCサービス識別子によって表されます。TSCサービス識別子は,インタフェース名称とTSCアクセプタ名称から構成されます。
サービスの種類の表現方法
TSCProxyObjectによって利用するサービスの種類は,TSCサービス識別子によって表されます。TSCサービス識別子は,インタフェース名称とTSCアクセプタ名称から構成されます。
TSCアクセプタ名称なしTSCサービス識別子
TSCアクセプタ名称ありTSCサービス識別子
サービスの種類の表現例
"ABC::"
"ABC::abc"
形式
class TSCProxyObject
{
public:
const char* _TSCInterfaceName();
const char* _TSCAcceptorName();
TSCInt _TSCTimeout();
void _TSCTimeout(TSCInt timeout);
TSCInt _TSCPriority();
void _TSCPriority(TSCInt priority);
TSCContext_ptr _TSCContext();
};
インクルードファイル
#include <tscproxy.h>
メソッド
●const char* _TSCInterfaceName()
項目 | 型・意味 |
---|---|
戻り値 | インタフェース名称 |
インタフェース名称を取得します。
インタフェース名称のメモリ領域の管理責任はTSCProxyObjectクラスにあるので,ユーザは削除しないでください。
●const char* _TSCAcceptorName()
項目 | 型・意味 |
---|---|
戻り値 | TSCアクセプタ名称 |
TSCアクセプタ名称を取得します。
TSCアクセプタ名称のメモリ領域の管理責任はTSCProxyObjectクラスにあるので,ユーザは削除しないでください。
●TSCInt _TSCTimeout()
項目 | 型・意味(単位) |
---|---|
戻り値 | タイムアウト時間(秒) |
タイムアウト値(呼び出し時の監視時間)を取得します。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
●void _TSCTimeout(TSCInt timeout)
項目 | 型・意味(単位) | |
---|---|---|
引数 | TSCInt timeout | タイムアウト時間(秒) |
戻り値 | ありません。 | |
例外 | TSCBadParamException |
タイムアウト値(呼び出し時の監視時間)を秒単位で設定します。"0"を指定した場合,時間監視をしません。監視時間は,メソッド呼び出しごとに変更できます。
アプリケーションプログラムの開始時に-TSCTimeOutオプションを指定しない場合は,監視時間のデフォルト値は"180"(秒)です。-TSCTimeOutオプションを指定する場合は,監視時間のデフォルト値は-TSCTimeOutオプションの指定値になります。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
●TSCInt TSCPriority()
項目 | 型・意味 |
---|---|
戻り値 | プライオリティ値 |
プライオリティ値(メソッド呼び出し時の優先順位)を取得します。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
●void _TSCPriority(TSCInt priority)
項目 | 型・意味 | |
---|---|---|
引数 | TSCInt priority | プライオリティ値 |
戻り値 | ありません。 | |
例外 | TSCBadParamException |
プライオリティ値(メソッド呼び出し時の優先順位)を設定します。
priorityに1~8の値を指定することで,キューイング取り出し時の優先順位を変更できます。priorityに指定する値が小さいほど優先度は高くなります。プライオリティ値はリクエスト単位に変更できます。
アプリケーションプログラムの開始時に-TSCRequestPriorityオプションを指定しない場合は,プライオリティ値のデフォルト値は"4"です。-TSCRequestPriorityオプションを指定する場合は,プライオリティ値のデフォルト値は-TSCRequestPriorityオプションの指定値になります。
このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。
●TSCContext_ptr _TSCContext()
項目 | 型・意味 |
---|---|
戻り値 | TSCコンテキスト |
TSCContextを取得します。
戻り値のTSCContextのメモリ領域の管理責任はTSCProxyObjectクラスにあるので,削除しないでください。
なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。
マルチスレッド環境でのメソッド呼び出し規則
マルチスレッド環境で,TSCProxyObjectクラスのインスタンスのメソッドを呼び出す規則を次に示します。
メソッド | 複数のスレッド上からの同時呼び出し |
---|---|
_TSCInterfaceName | 〇 |
_TSCAcceptorName | 〇 |
_TSCTimeout() | ○ |
_TSCTimeout(TSCInt) | × |
_TSCPriority() | ○ |
_TSCPriority(TSCInt) | × |
_TSCContext | × |
クライアント側からのオブジェクト呼び出し | × |
インスタンスの内部参照(アクセス)規則
TSCProxyObjectクラスのインスタンスがほかのクラスのインスタンスを内部参照(アクセス)する規則を次に示します。
メソッド | 複数のスレッド上からの内部参照 |
---|---|
_TSCInterfaceName | ありません。 |
_TSCAcceptorName | ありません。 |
_TSCTimeout() | ありません。 |
_TSCTimeout(TSCInt) | ありません。 |
_TSCPriority() | ありません。 |
_TSCPriority(TSCInt) | ありません。 |
_TSCContext | ありません。 |
クライアント側からのオブジェクト呼び出し | 生成時に指定したTSCClient型のインスタンス |