@@ -271,66 +271,6 @@ where
271271 } )
272272}
273273
274- #[ inline]
275- pub fn startup_message_cstr (
276- parameters : & StartupMessageParams ,
277- buf : & mut BytesMut ,
278- ) -> io:: Result < ( ) > {
279- write_body ( buf, |buf| {
280- // postgres protocol version 3.0(196608) in bigger-endian
281- buf. put_i32 ( 0x00_03_00_00 ) ;
282- buf. put_slice ( & parameters. params ) ;
283- buf. put_u8 ( 0 ) ;
284- Ok ( ( ) )
285- } )
286- }
287-
288- #[ derive( Debug , Clone , Default , PartialEq , Eq ) ]
289- pub struct StartupMessageParams {
290- params : BytesMut ,
291- }
292-
293- impl StartupMessageParams {
294- /// Set parameter's value by its name.
295- pub fn insert ( & mut self , name : & str , value : & str ) -> Result < ( ) , io:: Error > {
296- if name. contains ( '\0' ) | value. contains ( '\0' ) {
297- return Err ( io:: Error :: new (
298- io:: ErrorKind :: InvalidInput ,
299- "string contains embedded null" ,
300- ) ) ;
301- }
302- self . params . put ( name. as_bytes ( ) ) ;
303- self . params . put ( & b"\0 " [ ..] ) ;
304- self . params . put ( value. as_bytes ( ) ) ;
305- self . params . put ( & b"\0 " [ ..] ) ;
306- Ok ( ( ) )
307- }
308-
309- pub fn str_iter ( & self ) -> impl Iterator < Item = ( & str , & str ) > {
310- let params =
311- std:: str:: from_utf8 ( & self . params ) . expect ( "should be validated as utf8 already" ) ;
312- StrParamsIter ( params)
313- }
314-
315- /// Get parameter's value by its name.
316- pub fn get ( & self , name : & str ) -> Option < & str > {
317- self . str_iter ( ) . find_map ( |( k, v) | ( k == name) . then_some ( v) )
318- }
319- }
320-
321- struct StrParamsIter < ' a > ( & ' a str ) ;
322-
323- impl < ' a > Iterator for StrParamsIter < ' a > {
324- type Item = ( & ' a str , & ' a str ) ;
325-
326- fn next ( & mut self ) -> Option < Self :: Item > {
327- let ( key, r) = self . 0 . split_once ( '\0' ) ?;
328- let ( value, r) = r. split_once ( '\0' ) ?;
329- self . 0 = r;
330- Some ( ( key, value) )
331- }
332- }
333-
334274#[ inline]
335275pub fn sync ( buf : & mut BytesMut ) {
336276 buf. put_u8 ( b'S' ) ;
0 commit comments