@@ -53,6 +53,7 @@ const BINARY_SUBTYPE_UUID_OLD: u8 = 0x03;
5353const BINARY_SUBTYPE_UUID : u8 = 0x04 ;
5454const BINARY_SUBTYPE_MD5 : u8 = 0x05 ;
5555const BINARY_SUBTYPE_ENCRYPTED : u8 = 0x06 ;
56+ const BINARY_SUBTYPE_USER_DEFINED : u8 = 0x80 ;
5657
5758/// All available BSON element types.
5859///
@@ -151,6 +152,7 @@ pub enum BinarySubtype {
151152 Md5 ,
152153 Encrypted ,
153154 UserDefined ( u8 ) ,
155+ Reserved ( u8 ) ,
154156}
155157
156158impl From < BinarySubtype > for u8 {
@@ -165,6 +167,7 @@ impl From<BinarySubtype> for u8 {
165167 BinarySubtype :: Md5 => BINARY_SUBTYPE_MD5 ,
166168 BinarySubtype :: Encrypted => BINARY_SUBTYPE_ENCRYPTED ,
167169 BinarySubtype :: UserDefined ( x) => x,
170+ BinarySubtype :: Reserved ( x) => x,
168171 }
169172 }
170173}
@@ -180,6 +183,7 @@ impl From<u8> for BinarySubtype {
180183 BINARY_SUBTYPE_UUID => BinarySubtype :: Uuid ,
181184 BINARY_SUBTYPE_MD5 => BinarySubtype :: Md5 ,
182185 BINARY_SUBTYPE_ENCRYPTED => BinarySubtype :: Encrypted ,
186+ _ if t < BINARY_SUBTYPE_USER_DEFINED => BinarySubtype :: Reserved ( t) ,
183187 _ => BinarySubtype :: UserDefined ( t) ,
184188 }
185189 }
0 commit comments