私は、暗号化されたネットワーク通信のための小さなクライアント/サーバープログラムを作成しており、エンドポイントが機能をネゴシエートできるようにするために次の構造体を持っています。Rustの構造体の要素をどのように反復処理しますか?
struct KeyExchangePacket {
kexinit: u8,
replay_cookie: [u8; 32],
kex_algorithms: String,
kgen_algorithms: String,
encryption_algorithms: String,
mac_algorithms: String,
compression_algorithms: String,
supported_languages: String,
}
私はTcpStream
の上にそれらを送信するためにバイトにフィールドを変換する必要がありますが、私は現在、1度に1つずつを変換する必要があります。
フィールドを反復処理して送信するためのバイト値をバッファにプッシュする方法はありますか?
コンパイラのプラグイン/夜間の受け入れが可能であれば、ここではserdeが役に立ちます。 – mcarton
@mcarton一般的なバイト用のserdeアダプタについて知っていますか?あるいは、OPがそのようなアダプタを書かなければならないと思いますか? – Shepmaster
どういう意味ですか? serde自体は 'Vec'から/にシリアライズできます。 –
mcarton