diff --git a/rust/bt-common/src/packet_encoding.rs b/rust/bt-common/src/packet_encoding.rs
index 2516dcb..9ff05d4 100644
--- a/rust/bt-common/src/packet_encoding.rs
+++ b/rust/bt-common/src/packet_encoding.rs
@@ -12,6 +12,29 @@
     /// Decodes into a new object with the number of bytes that were decoded, or
     /// returns an error.
     fn decode(buf: &[u8]) -> ::core::result::Result<(Self, usize), Self::Error>;
+
+    /// Tries to decode a collection of a decodable item from a buffer.
+    /// If any item fails to decode, fails with an Error and the previously
+    /// decoded items.
+    /// Will only decode up to max items. If None, will decode the entire
+    /// buffer.
+    fn decode_multiple(
+        buf: &[u8],
+        max: Option<usize>,
+    ) -> ::core::result::Result<(Vec<Self>, usize), (Vec<Self>, usize, Self::Error)> {
+        let mut idx = 0;
+        let mut result = Vec::new();
+        while idx < buf.len() && Some(result.len()) != max {
+            match Self::decode(&buf[idx..]) {
+                Err(e) => return Err((result, idx, e)),
+                Ok((item, consumed)) => {
+                    result.push(item);
+                    idx += consumed;
+                }
+            }
+        }
+        Ok((result, idx))
+    }
 }
 
 /// An encodable type can write itself into a byte buffer.
