ここに
ジドル - a
JSON
ベースの完全で、簡単で、拡張可能な インターフェース定義言語
- ドキュメンテーション
- インスタンスIDL
JSONスキーマ
根拠 JSON ベースの完全なインターフェース定義言語 (IDL) は、ソフトウェアのインターフェースの成長を特徴付け、対応を維持するための手元にある方法です。 、特に A Way-off Route of Calls (RPC) の方法によって。 JSON ベースの完全な IDL を使用すると、ビルダーにいくつかの極寒の特典が提供されます:
言語とツールに優しい構造
: JSON は大量のプログラミングで動作しますこうすることで、バリデーション用の計測器やライブラリを作成し、ショッパー アスペクトとサーバー アスペクトのコード、ドキュメント、その他のお菓子を作成することがより簡単になり、前代未聞のパターンをより生産的で保守しやすくします。
柔軟で拡張可能
: ビルダーは追加できます必要なたびに新しい属性またはプロパティをインターフェイス定義に追加します。 このように、IDL は成長し、ソフトウェアと商取引を行うことができ、問題を引き起こすことなく新しい側面をサポートできます。 )
簡単に教えて書くことができます
: 教える必要のない IDL 構文が他に 1 つある可能性があるため、ビルダーがインターフェイスを配置するのはより簡単です。定義。 すべてのアメリカ人は、集合的により良く、より早く働くことができます.
- , "戻り値": "Int8" } } }" dir="auto">{
"モジュール"
: ” 電卓
」, "インターフェース" : { "calc": { "@id": 1, "追加": { c=a + bを計算します", "args": [ { "a": "Int32" }, { "b": "Int32" }, { "c": "Int32", "@dir": "out" } ] 、 "戻り値": "Int8" } } }C/C++
)read_int32(&a); int32_t b; _rpc_buff->read_int32(&b); int32_t c; // 正確な機能の名前 int8_t _rpc_ret_val=calc_add(a, b, &c); // 出力をシリアル化 _rpc_buff->reset(); _rpc_buff->write_int32(c); _rpc_buff->write_int8(_rpc_ret_val); } /Consumer-aspect shim */ static inline int8_t rpc_calc_add(int32_t a, int32_t b, int32_tc) { //… // 入力をシリアル化 _rpc_buff.write_int32(a); _rpc_buff.write_int32(b); // RPC 名 rpc_send_msg(&_rpc_buff); int8_t _rpc_ret_val; memset(&_rpc_ret_val, 0, sizeof(_rpc_ret_val)); MessageBuffer _rsp_buff(NULL, 0); RpcStatus _rpc_status=rpc_wait_result(_rpc_seq, &_rsp_buff); if (_rpc_status==RPC_STATUS_OK) { // 出力をデシリアライズします _rsp_buff.read_int32(c); _rsp_buff.read_int8(&_rpc_ret_val); _rpc_ret_val を返します。 }” dir=”auto”>RPCシム生成 /*サーバーアスペクトシム */ 列をなして 空所静的 rpc_calc_add_handler )(MessageBuffer_rpc_buff) { // 入力のデシリアライズ ) int32_t
a; _rpc_buff->read_int32 (&a); int32_t b; _rpc_buff->read_int32(&b); int32_t c; // C