Ich schreibe ein kleines Client/Server-Programm für die verschlüsselte Netzwerkkommunikation und habe die folgende Struktur, damit die Endpunkte Fähigkeiten aushandeln können.Wie iteriere ich über Elemente einer Struktur in 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,
}
Ich brauche die Felder in Bytes zu konvertieren, um sie über einen TcpStream
zu schicken, aber ich habe noch sie einer nach dem anderen zu konvertieren.
Gibt es eine Möglichkeit, über die Felder zu iterieren und ihre Byte-Werte in einen Puffer zum Senden zu schieben?
Ziemlich sicher serde könnte hier nützlich sein, wenn ein Compiler-Plugin/Nightly akzeptabel ist. – mcarton
@mcarton kennen Sie einen Serde-Adapter für generische Bytes? Oder meinst du, dass OP einen solchen Adapter schreiben müsste? – Shepmaster
was meinst du? serde selbst kann von/nach 'Vec' serialisieren. –
mcarton