DeviceProxyとの統合

English | 日本語

目的と確認範囲

DeviceProxyは、ローカル実装とリモートクライアントを上位アプリケーションから同様に操作するための設計上の抽象化として従来の文書に記載されている。この構想は削除しない。ただし、今回の pixet_ctrl.py にはDeviceProxyの定義がなく、生成関数・登録関数・通信方式の実装確認はできない。

想定する責務

  • ローカル: MiniPixCtrl がPIXet SDKと検出器を直接操作する(実装確認済み)。

  • リモート: gRPCクライアントがサーバーへ処理を委譲する(本資料では未確認)。

  • プロキシ: 上位アプリケーションから接続方式を隠蔽する(設計方針、実装未確認)。

過去に記載された register_device や DeviceProxy は将来実装・別実装の候補として扱い、実行可能なサンプルコードとはみなさない。対応する実装が確認できた段階で、正確なimport先、コンストラクタ、同期/非同期切り替えを追記する。

APIの互換性

共通インターフェースの候補は connect()、disconnect()、set_mode_all()、set_threshold()、acquire_frames()、acquire_integral()、stop()、state() である。現時点で保証されるのは MiniPixCtrl のローカル実装だけであり、リモート経由での互換性は未検証である。

gRPCの透過性とローカルAPI

grpc_frame はローカル制御APIを透過的に呼び出すための通信基盤であり、検出器制御機能を独自に追加しません。したがって、リモートから実行可能な検出器操作は、サーバー側のローカル制御クラスに実装された操作に限られます。RPCの公開名や引数がローカルメソッドと一致するかは、対応するクライアント・サーバーのソースコードによる確認が必要です。

現行の正式なAPIは pixet_ctrl.py の MiniPixCtrl を基準とします。ローカル制御に存在しない機能を、gRPCだけで提供できるものとして記述しません。通信層の実装状況についても、pixet_ctrl.py だけでは断定しません。