名前
CORBA_ORB_set_client_request_timer -スレッド単位のサーバメソッド待機時間の設定
形式
void CORBA_ORB_set_client_request_timer( CORBA_ORB orb, CORBA_long time, CORBA_Environment *env );
機能説明
クライアントアプリケーションにおいて、サーバメソッドが復帰するまでの待機時間をtimeに設定します。ここで設定する待機時間は、本関数を発行したスレッドが今後発行する全てのリクエストに対して有効となります。本関数を発行した場合、スレッドを終了する前にCORBA_ORB_clear_client_request_timer()を発行する必要があります。
パラメタ
CORBA_ORB_init()によって獲得したORBのオブジェクトリファレンス。
サーバメソッドが復帰するまでの待機時間(秒単位)。待機時間には、0から100000000までを指定することができます。0を指定した場合は、サーバメソッドが復帰するまでの待機時間を監視しません。
例外情報が格納される構造体。
復帰値
正常復帰した場合の復帰値はありません。
異常終了した場合はenv構造体の_majorにはCORBA_SYSTEM_EXCEPTIONが設定され、_idと_minorに詳細情報が設定されます。_idの意味と値は次のとおりです。_minorの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
timeに不当な値を指定しました。
メモリ不足が発生しました。
注意事項
本メソッドは、クライアントプロセスの待機時間を変更する必要がある場合に使用します。
本メソッドは、サーバへのリクエスト送信に先立って発行することにより、スレッド単位で待機時間を設定します。
本メソッドを発行した場合、スレッドを終了する前にCORBA_ORB_clear_client_request_timer()を発行しないとメモリリークが発生します。なお、プロセスが終了すると、本メソッドを発行することによって獲得したメモリは解放されます。
本メソッドを発行した後、タイムアウト時間を別の値に設定する場合は、もう一度CORBA_ORB_set_client_request_timer()を発行します。その際にCORBA_ORB_clear_client_request_timer()を事前に発行する必要はありません。
待機時間の優先度は以下のとおりです(高い順から記載します)。
CORBA_ORB_set_client_request_timer()による設定
CORBA_ORB_set_client_timer()による設定
CORBAサービスの環境設定ファイル(config)のperiod_receive_timeoutパラメタによる設定