• 検索結果がありません。

3. API 仕様

3.3 API データ型

データ型名 Std_ReturnType【rte_sws_a_0046】

概要 API関数が返す「状態」と「エラー値」

Std_ReturnTypeの構造

この型はuint8で定義されており,値"0"はエラーが発生しなかったことを示すために使用する.

上位 7 即時通信基盤エラーフラグ

1:即時通信基盤エラーのエラー値である.

0:即時通信基盤エラーのエラー値でない.

(つまりアプリケーションエラー)

6 オーバーレイエラーフラグ

(このフラグの使用方法は返り値を返すAPIに依存する)

5 アプリケーションエラーの値に使用する 4

3 2 1 下位 0

3.3.1.1 通信基盤エラー

通信基盤エラーは以下の2種類に分類される.

エラー分類 内容

即時通信基盤エラー 現在使用しているデータに関連するエラーを示す.このエラーは,アプリ ケーションデータやアプリケーションエラーが受信できないようなエラー に対して,受信側で使用するエラーである.

Std_ReturnType型の即時通信基盤エラーフラグがセットされている場合,

このエラーであることを示す.

このエラーは排他的であり,即時通信基盤エラーはアプリケーションエラ ーを上書きする【rte_sws_2593】.また同時に複数の即時通信基盤エラーが 返されることはない.

オーバーレイエラー 現在使用しているデータの受信後に発生した通信イベント(例えばデータ 要素が古い,あるいはキューのオーバーフローによるデータ損失)に関連す るエラーを示す.

オーバーレイエラーはStd_ReturnType型に含まれるオーバーレイエラー フラグビットを使用して通知する【rte_sws_1318】.

このエラーは他のアプリケーションエラー,もしくは通信基盤エラーと併 用できる.

3.3.1.2 アプリケーションエラー

RTEは,以下のフォーマットで定義されたアプリケーションエラーをサポートする【rte_sws_2573】

・ 即時通信基盤エラーフラグが"0"に設定されたStd_ReturnTypeの下位6ビット.

アプリケーションエラーの値範囲

アプリケーションエラーは以下の範囲をとる.

最小値 1 最大値 63

アプリケーションエラーのエラーコード

アプリケーションエラーのエラーコードは,RTE_E_INVALIDを除きアプリケーションエラー定数 で定義される.アプリケーションエラー定数については,3.5.2節を参照.

C/S連携の返り値

C/S連携では,サーバランナブルはアプリケーションエラー値の範囲内でエラーを返すことができ る.

クライアントは以下のどれか1つを受信する.

・ 通信が成功しなかったことを示す即時通信基盤エラー

・ サーバランナブルの返した返り値

・ サーバランナブルの返した返り値+オーバーレイフラグを設定した値.

RTEの現在のリリースでは,クライアントに「サーバランナブルの返した返り値+オーバーレイフラ グを設定した値」を返すことはない.

3.3.1.3 定義済みエラーコード

RTE標準エラーコード定義

RTE APIが正常に終了した場合のStd_ReturnTypeの値はRTE_E_OK(=0)である【rte_sws_1058】.

それ以外の場合はエラーコードで,以下の値を定義する.

・ RTE_E_INVALID = 1【rte_sws_2594】

・ RTE_E_COM_STOPPED = 128【rte_sws_1060】

・ RTE_E_TIMEOUT = 129【rte_sws_1064】

・ RTE_E_LIMIT = 130【rte_sws_1317】

・ RTE_E_NO_DATA = 131【rte_sws_1061】

・ RTE_E_TRANSMIT_ACK = 132【rte_sws_1065】

・ RTE_E_NEVER_RECEIVED = 133【rte_sws_7384】

・ RTE_E_UNCONNECTED = 134【rte_sws_7655】

・ RTE_E_IN_EXCLUSIVE_AREA = 135【rte_sws_2739】

・ RTE_E_LOST_DATA = 64【rte_sws_2571】

・ RTE_E_MAX_AGE_EXCEEDED = 64【rte_sws_2702】

以上のエラーコード定義で規定された標準エラーは,RTEヘッダで定義される【rte_sws_1269】.

SCHM標準エラーコード定義

SCHM APIが正常に終了した場合のStd_ReturnTypeの値はSCHM_E_OK(=0)である

【rte_sws_7289】.

それ以外の場合はエラーコードで,以下の値を定義する.

・ SCHM_E_LIMIT = 130【rte_sws_7290】

・ SCHM_E_NO_DATA = 131【rte_sws_7562】

・ SCHM_E_TRANSMIT_ACK = 132【rte_sws_7563】

・ SCHM_E_IN_EXCLUSIVE_AREA = 135【rte_sws_2747】

・ SCHM_E_TIMEOUT = 129【rte_sws_7054】

以上のエラーコード定義で規定された標準エラーは,RTEヘッダで定義される【rte_sws_7291】.

3.3.2 プリミティブ実装データ型

データ型名 <name>【rte_sws_7104】

概要 RTE APIで使用するデータ型

備考 <name>は,プリミティブ実装データ型のショートネーム

プリミティブ実装データ型を提供するヘッダ

プリミティブ実装データ型は,RTEタイプヘッダ内に定義する〔rte_sws_7104〕.

プリミティブ実装データ型の設定

プリミティブ実装データ型は,カテゴリ(category)がVALUEの実装データ型 (ImplementationDataType)として定義する.

プリミティブ実装データ型のベース型(BaseType)がネイティブ宣言(nativeDeclaration)を持つ場合,

RTEタイプヘッダは以下の型宣言を含む【rte_sws_7104】.

typedef <nativeDeclaration> <name>;

ここで,

・ <nativeDeclaration>は,ベース型(BaseType)のネイティブ宣言(nativeDeclaration)を表す.

・ <name>は,プリミティブ実装データ型のショートネームを表す.

本RTEは,プリミティブ実装データ型のベース型(baseType)のベース型エンコーディング

(baseTypeEncoding)にNONE,もしくはBOOLEANが指定された場合,プリミティブ実装データ型 が符号なしであると見なす.NONE,およびBOOLEAN以外が指定された場合,プリミティブ実装デ ータ型が符号ありであると見なす【nrte_sws_0158】.

同一のデータ型の再定義の防止

ショートネーム,およびベース型(BaseType)のネイティブ宣言(nativeDeclaration)が等しい複数の プリミティブ実装データ型が定義されている場合,RTEタイプヘッダは〔rte_sws_7104〕に従った型 宣言を1度だけ含む【rte_sws_7105】.

定義済みのデータ型の再定義防止

RTEGENは,ネイティブ宣言(nativeDeclaration)を持たないベース型(BaseType)に対する型宣言を 生成しない【nrte_sws_0085】.これは,あらかじめ型宣言が提供されているデータ型の再定義を避け るためである.