Ich habe eine Struktur mit einer BufStream<T>
wo T: Read+Write
. Die BufStream
kann eine 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 zu lesen sind.Wie lese ich eine bestimmte Anzahl von Bytes aus einem Stream?
Gibt es eine nette Möglichkeit, das zu tun?
Danke .. nicht nehmen() den Leser verbrauchen? Mein Anwendungsfall ist, dass ich einen tcpstream (Teil einer Struktur) habe, von dem ich Zeilen lese. Manchmal muss ich keine Zeile lesen, sondern eine bestimmte Anzahl an Bytes. Danach muss ich wieder Zeilen lesen ... – buster
Es tut, aber "der Leser" kann ein "& mut R" sein, d. H. Eine temporäre veränderbare Referenz zu einem anderen Leser. Take verwendet eine Wert-API, sodass alle Anwendungsfälle unterstützt werden. Dieses Modell erscheint in einigen verschiedenen Ecken des Rosts. – bluss
@buster as bluss weist darauf hin, '& mut R' implementiert auch das Merkmal' Read'. Mein Beispiel benutzt das sehr gut - deshalb gebe ich in der Hauptmethode des Beispiels "& mut reader" ein. – Shepmaster