Ich habe eine Struktur mit einem BufStream<T>
wo T: Read+Write
.
Das BufStream
kann ein TcpStream
sein und ich möchte n Bytes davon lesen.
Nicht eine feste Anzahl von Bytes in einem vordefinierten Puffer, aber ich habe einen String / Stream, der die Anzahl der Bytes angibt, die als nächstes gelesen werden sollen.
Gibt es eine nette Möglichkeit, das zu tun?
Seit Rust 1.6 kann Read::read_exact
verwendet werden mach das. Wenn bytes_to_read
die Anzahl der Bytes ist, die Sie lesen müssen, möglicherweise zur Laufzeit festgelegt, und reader
ist der Stream, von dem gelesen werden soll:
Der Teil, der mir aus der Dokumentation read_exact
nicht klar war, war, dass der Zielpuffer ein dynamisch zugewiesenes Vec
sein kann.
Danke an die Rust-Gitter-Community, die mich auf diese Lösung hingewiesen hat.
Tags und Links rust