TSCSessionProxy(C++)

TSCSessionProxyはシステム提供クラスです。

TSCSessionProxyは,TSCObjectの代理クラスです。TSCSessionProxyを呼び出すと,OTMのスケジューリング機構を経由してステートフルにTSCObjectが呼び出されます。TSCSessionProxyのTSCProxyObjectとの違いを次に示します。

TSCSessionProxyの特徴

形式

class TSCSessionProxy
{
public:
 void _TSCStart();
 void _TSCStop();

 TSCInt _TSCSessionInterval();
 void _TSCSessionInterval(TSCInt session_interval);

 const char* _TSCInterfaceName();
 const char* _TSCAcceptorName();

 TSCInt _TSCTimeout();
 void _TSCTimeout(TSCInt timeout);

 TSCInt _TSCPriority();
 void _TSCPriority(TSCInt priority);

 TSCContext_ptr _TSCContext();
}

インクルードファイル

#include <tscproxy.h>

メソッド

●void _TSCStart()

項目型・意味
戻り値ありません。
例外TSCBadInvOrderException
TSCBadParamException
TSCCommFailureException
TSCInitializeException
TSCInternalException
TSCNoMemoryException
TSCNoPermissionException
TSCNoResponseException
TSCObjectNotExistException
TSCTransientException

セションを開始します。

セションを開始するとTSCユーザプロキシとサーバアプリケーションのインスタンスを対応づけます。また,アクセプタ名称を指定していないコンストラクタでインスタンスを生成した場合は,_TSCStart()メソッドで対応づけたインスタンスのアクセプタ名称を_TSCStop()メソッドの発行時まで引き継ぎます。

なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。

_TSCStart()メソッドが正常終了した場合は,セション呼び出しが成功しても失敗しても,必ず_TSCStop()メソッドを発行してください。

●void _TSCStop()

項目型・意味
戻り値ありません。
例外TSCBadInvOrderException
TSCBadParamException
TSCCommFailureException
TSCInitializeException
TSCInternalException
TSCNoMemoryException
TSCNoPermissionException
TSCNoResponseException
TSCTransientException

セションを解放します。

セションを解放するとTSCユーザプロキシとサーバアプリケーションのインスタンスの対応づけも解放されます。

なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。

●TSCInt _TSCSessionInterval()

項目型・意味(単位)
戻り値セション呼び出しインターバル監視時間(秒)

セション呼び出しインターバル監視時間を取得します。

このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。

●void _TSCSessionInterval(TSCInt session_interval)

項目型・意味(単位)
引数TSCInt session_intervalセション呼び出しインターバル監視時間(秒)
戻り値ありません。
例外TSCBadParamException

セション呼び出しインターバル監視時間を秒単位で設定します。メソッド呼び出しごとに変更できます。

アプリケーションプログラムの開始時に-TSCSessionIntervalオプションを指定しない場合は,監視時間のデフォルト値は"180"(秒)です。-TSCSessionIntervalオプションを指定する場合は,監視時間のデフォルト値は-TSCSessionIntervalオプションの指定値になります。

このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。

●const char* _TSCInterfaceName()

項目型・意味
戻り値インタフェース名称

インタフェース名称を取得します。

インタフェース名称のメモリ領域の管理責任はTSCSessionProxyクラスにあるので,ユーザは削除しないでください。

●const char* _TSCAcceptorName()

項目型・意味
戻り値TSCアクセプタ名称

TSCアクセプタ名称を取得します。

取得するTSCアクセプタ名称を次に示します。

TSCアクセプタ名称のメモリ領域の管理責任はTSCSessionProxyクラスにあるので,ユーザは削除しないでください。また,セション呼び出し中に取得したTSCアクセプタ名称のメモリ領域は_TSCStop()メソッド発行後には参照できません。

このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。

●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オプションの指定値になります。

このメソッドを複数のスレッド上から同時に呼び出した場合,結果は保証されません。

プライオリティ値が有効になるのは_TSCStart()メソッドだけです。

●TSCContext_ptr _TSCContext()

項目型・意味
戻り値TSCコンテキスト

TSCコンテキストを取得します。

戻り値のTSCコンテキストのメモリ領域の管理責任はTSCSessionProxyクラスにあるので,ユーザは削除しないでください。

なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。

マルチスレッド環境でのメソッド呼び出し規則

マルチスレッド環境で,TSCSessionProxyクラスのインスタンスのメソッドを呼び出す規則を次に示します。

メソッド複数のスレッド上からの同時呼び出し
_TSCStart()×
_TSCStop()×
_TSCSessionInterval()
_TSCSessionInterval(TSCInt)×
_TSCInterfaceName()
_TSCAcceptorName()
_TSCTimeout()
_TSCTimeout(TSCInt)×
_TSCPriority()
_TSCPriority(TSCInt)×
_TSCContext×
クライアント側からのオブジェクト呼び出し×
(凡例)
○:できます。
×:できません。

インスタンスの内部参照(アクセス)規則

TSCSessionProxyクラスのインスタンスがほかのクラスのインスタンスを内部参照(アクセス)する規則を次に示します。

メソッド複数のスレッド上からの内部参照
_TSCStart()ありません。
_TSCStop()ありません。
_TSCSessionInterval()ありません。
_TSCSessionInterval(TSCInt)ありません。
_TSCInterfaceName()ありません。
_TSCAcceptorName()ありません。
_TSCTimeout()ありません。
_TSCTimeout(TSCInt)ありません。
_TSCPriority()ありません。
_TSCPriority(TSCInt)ありません。
_TSCContextありません。
クライアント側からのオブジェクト呼び出し生成時に指定したTSCClient型のインスタンス

セション呼び出し機能使用中のメソッド呼び出し規則

セション呼び出し機能使用中(_TSCStart()メソッド呼び出し完了から_TSCStop()メソッド呼び出し完了まで)の,TSCSessionProxyクラスのインスタンスのメソッドを呼び出す規則を次に示します。

メソッドセション呼び出し中での呼び出し
_TSCStart()×
_TSCStop()
_TSCSessionInterval()
_TSCSessionInterval(TSCInt)
_TSCInterfaceName()
_TSCAcceptorName()
_TSCTimeout()
_TSCTimeout(TSCInt)
_TSCPriority()
_TSCPriority(TSCInt)
_TSCContext
クライアント側からのオブジェクト呼び出し
(凡例)
○:できます。
×:できません。