Skip to content

Commit 91c0875

Browse files
committed
Remove global parse_length_delimited* functions
These functions are not very useful and are a source of confusion for users. Issue #328
1 parent 75fac07 commit 91c0875

4 files changed

Lines changed: 6 additions & 30 deletions

File tree

protobuf-test-common/src/serialize_deserialize_tests.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ use protobuf::*;
55

66
pub fn test_serialize_deserialize_length_delimited<M : Message + PartialEq>(msg: &M) {
77
let serialized_bytes = msg.write_length_delimited_to_bytes().unwrap();
8-
let parsed = parse_length_delimited_from_bytes::<M>(&serialized_bytes).unwrap();
8+
let mut is = CodedInputStream::from_bytes(&serialized_bytes);
9+
let parsed = is.read_message().unwrap();
10+
is.check_eof().unwrap();
911
assert_eq!(*msg, parsed);
1012
}
1113

protobuf-test/src/common/v2/test_basic.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,8 @@ fn test_parse_length_delimited_from_network_smoke() {
295295
});
296296

297297
let mut tcp_stream = net::TcpStream::connect(addr).expect("connect");
298-
let test1: Test1 = parse_length_delimited_from_reader(&mut tcp_stream).expect("parse...");
298+
let mut is = CodedInputStream::new(&mut tcp_stream);
299+
let test1: Test1 = is.read_message().expect("read_message");
299300
assert_eq!(10, test1.get_a());
301+
is.check_eof().expect("check_eof");
300302
}

protobuf/src/core.rs

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -226,28 +226,3 @@ pub fn parse_from_carllerche_bytes<M : Message>(
226226
// Call trait explicitly to avoid accidental construction from `&[u8]`
227227
WithCodedInputStream::with_coded_input_stream(bytes, |is| parse_from::<M>(is))
228228
}
229-
230-
/// Parse length-delimited message from stream.
231-
///
232-
/// Read varint length first, and read messages of that length then.
233-
pub fn parse_length_delimited_from<M : Message>(
234-
is: &mut CodedInputStream,
235-
) -> ProtobufResult<M> {
236-
is.read_message::<M>()
237-
}
238-
239-
/// Parse length-delimited message from `Read`.
240-
pub fn parse_length_delimited_from_reader<M : Message>(
241-
r: &mut Read,
242-
) -> ProtobufResult<M> {
243-
// TODO: wrong: we may read length first, and then read exact number of bytes needed
244-
r.with_coded_input_stream(|is| is.read_message::<M>())
245-
}
246-
247-
/// Parse length-delimited message from bytes.
248-
// TODO: currently it's not possible to know how many bytes read from slice.
249-
pub fn parse_length_delimited_from_bytes<M : Message>(
250-
bytes: &[u8],
251-
) -> ProtobufResult<M> {
252-
bytes.with_coded_input_stream(|is| is.read_message::<M>())
253-
}

protobuf/src/lib.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@ pub use core::parse_from_bytes;
2323
pub use core::parse_from_reader;
2424
#[cfg(feature = "bytes")]
2525
pub use core::parse_from_carllerche_bytes;
26-
pub use core::parse_length_delimited_from;
27-
pub use core::parse_length_delimited_from_reader;
28-
pub use core::parse_length_delimited_from_bytes;
2926
pub use enums::ProtobufEnum;
3027
pub use oneof::Oneof;
3128
pub use stream::CodedInputStream;

0 commit comments

Comments
 (0)