msgpackrpc.md MessagePack RPCクライアントの振る舞い及びエラー処理 概要 MessagePack-RPCのクライアントのエラー処理を正しく、またその後に何をすべきか(可能か)まとめる。 「このエラー起きたとき、どう処理すべきか?」ということを説明する。 説明しないこと:RPCサーバの作り方、各言語のライブラリのプロトコル実装やエラー定義の差。 結論 エラー内容を正確に取得したければC++クライアントを使う Ruby, Python, Javaの実装では、1度RPCに成功した後、同じオブジェクトで次にRPCを実行して発生したトランスポート層のエラーは必ずtimeout errorとなってしまう(トランスポート層で何が起こったのか、接続し直したのか、何が原因となっているのか例外からは判別できない) 回避策として、RPCを呼び終わったらセッションを閉じて、再度接続し直
![MessagePack RPCクライアントの振る舞い及びエラー処理](https://cdn-ak-scissors.b.st-hatena.com/image/square/1ef26f6cb4349557952890dbe3e567f7f98dc151/height=288;version=1;width=512/https%3A%2F%2Fgithub.githubassets.com%2Fassets%2Fgist-og-image-54fd7dc0713e.png)