問題タブ [capnproto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Cap'n Proto RPC ネットワーク トラフィックを保護する良い方法は何ですか?
Cap'n Proto RPC を使用して、オフィスのデスクトップ ボックスからクラウド内のサーバーと通信したいと考えています。Cap'n Proto は、ファイアウォールを介した安全なネットワーク接続を提供しません。これを必要とする他のコンポーネントがあるため、c ++を好みます。
アプリケーションに直接リンクする nanomsg やその他のトランスポートを検討している人もいますが、stunnel などで満足できるものかどうか疑問に思っていました。
ほとんどの人が知っているように、stunnel アプリケーションは、FAQ に従って、特定の条件下で TCP/IP トラフィックの HTTPS カプセル化を提供できます。
- プロトコルは UDP ではなく TCP です。
- このプロトコルは、ftp のように複数の接続を使用しません。
- プロトコルは帯域外 (OOB) データに依存しません。
- リモート サイトは、SSL がネゴシエートされたオプションである ssltelnet などのアプリケーション固有のプロトコルを使用できません。stunnel へのプロトコル引数によって既にサポートされているプロトコルを除きます。
Cap'n Proto RPC はこれらの条件を満たしているようです。この場合、顧客が stunnel のインストールに反対することはないと思います。誰かがこれまたは似たようなことを試しましたか? もしそうなら、あなたの経験は大歓迎です。誰かがより高速で軽量な代替手段を知っていれば、それも役に立ちます。
ありがとう!
c++ - サードパーティの非同期 API を Cap'n Proto RPC と統合する良い方法は何ですか?
Cap'n Proto RPC リクエストを処理する Linux サーバーがあります。これらのリクエストの一部は、リクエスト内のデータを実行中の別のサーバー (この場合は Kafka ブローカー) に転送する必要があります。librdkafka と Cap'n Proto KJ ライブラリは両方とも poll() を使用できるため、OS は両方が非同期で実行できることを保証すると思いますが、さらなる統合が必要かどうか、または有益かどうかはわかりません。誰もこれを経験していますか?
質問は、私がリストした詳細よりも少し広いです.Cap'n Proto RPCから将来呼び出す可能性のある他のAPIがあるので、幅広いガイドラインをいただければ幸いです。
rust - capnpc::compile がファイルを書き込まない
capnpc クレートの操作に問題があります。私は Arch Linux を実行しており、AUR から capnp をインストールし、github プロジェクトから capnpc-rust をコンパイルして、/usr/local/bin
. コマンドを使用して、.capnp ファイルを簡単に手動でコンパイルできます。
capnpc プロジェクトのクローンを作成し、テスト ディレクトリで .capnp テスト ファイルをコンパイルしようとしましたが、どちらも機能しませんでした。エラーが発生していないため (以前は「ファイルが見つかりません」と表示されていました)、capnpc が動作しているように見えますが、どこにもファイルが見つかりません。
build.rs
貨物.toml
編集: .rs ファイルは /target/debug/build/.../out にビルドされます。
binaryfiles - 文字列のキャッシュを許可する既製のバイナリ形式はありますか
高度にカスタマイズされた効率的なバイナリ形式を、利用可能なバイナリ形式のいずれかに移行することを調査しています。データは他の場所の中でも低電力のモバイルに保存されるため、パフォーマンスは重要な要件です。現在の形式の利点は、すべての文字列がプールに格納されることです。これは、ファイル内で同じ文字列を何百回も繰り返さず、逆シリアル化中に 1 回だけ読み取り、すべてのオブジェクトがそのインデックスによって参照していることを意味します。また、メモリ内にコピーを 1 つだけ保持することも意味します。したがって、多くの利点があります:) capnprotoまたはflatbuffersがこれをサポートする方法を見つけることができませんでした。または、レイヤーを上に構築し、生成されたオブジェクトで文字列への整数インデックスを明示的に使用する必要がありますか?
ありがとうございます!
java - capnproto を使用した Java RPC ライブラリ?
現在、capnproto uber-fast ライブラリは RPC ライブラリを提供していないため、既存の GRPCio (または他の RPC Java フレームワーク) を置き換えることは困難です。capnproto Java サポートが現在シリアル化のみに限定されているのはなぜですか? 完全な RPC フレームワークもサポートする予定はありますか?
c++ - Cap'n Proto: 大きなメッセージをピース単位でディスクに書き込む
巨大なパックされたデータ配列を作成し、それをディスクに保存したいと考えています。writePackedMessageToFd() を使用しています。ただし、入力データが非常に大きい (50 GB) ため、メモリを解放するためにメッセージの一部をディスクに保存する必要があります。
これは Cap'n Proto の現在のバージョンで可能ですか?
補足: この質問は、出力をストリーミングする必要がないという点で、前述の重複した質問とは異なります。たとえば、理論的には、最初のパスで (未完成の) メッセージ全体を保持する成長するファイルのような他のオプションがある可能性があります。そして、2 回目のパスでメッセージを終了できます。