@@ -3,7 +3,7 @@ use std::{cmp, io, io::Write, mem::MaybeUninit, slice::from_raw_parts_mut};
33
44use atoi:: FromRadix10 ;
55use ntex:: http:: { header:: HeaderValue , HttpServiceConfig , KeepAlive } ;
6- use ntex:: util:: { BufMut , Bytes , BytesMut , BytesVec } ;
6+ use ntex:: util:: { BufMut , Bytes , BytesVec } ;
77use ntex:: { io:: IoConfig , time:: Seconds , SharedCfg } ;
88use sonic_rs:: writer:: WriteExt ;
99
@@ -58,55 +58,18 @@ pub fn get_query_param(query: Option<&str>) -> usize {
5858 cmp:: min ( 500 , cmp:: max ( 1 , q) as usize )
5959}
6060
61- pub fn reserve ( buf : & mut BytesMut , lw : usize ) {
61+ pub fn reserve ( buf : & mut BytesVec , lw : usize ) {
6262 let remaining = buf. remaining_mut ( ) ;
6363 if remaining < lw {
6464 buf. reserve ( HW ) ;
6565 }
6666}
6767
68- pub struct BytesWriter < ' a > ( pub & ' a mut BytesMut ) ;
69-
70- impl Write for BytesWriter < ' _ > {
71- fn write ( & mut self , src : & [ u8 ] ) -> Result < usize , io:: Error > {
72- self . 0 . extend_from_slice ( src) ;
73- Ok ( src. len ( ) )
74- }
75-
76- fn flush ( & mut self ) -> Result < ( ) , io:: Error > {
77- Ok ( ( ) )
78- }
79- }
80-
81- impl WriteExt for BytesWriter < ' _ > {
82- #[ inline( always) ]
83- fn reserve_with ( & mut self , additional : usize ) -> Result < & mut [ MaybeUninit < u8 > ] , io:: Error > {
84- self . 0 . reserve ( additional) ;
85-
86- unsafe {
87- let ptr = self . 0 . as_mut_ptr ( ) . add ( self . 0 . len ( ) ) as * mut MaybeUninit < u8 > ;
88- Ok ( from_raw_parts_mut ( ptr, additional) )
89- }
90- }
91-
92- #[ inline( always) ]
93- unsafe fn flush_len ( & mut self , additional : usize ) -> io:: Result < ( ) > {
94- unsafe {
95- let new_len = self . 0 . len ( ) + additional;
96- self . 0 . set_len ( new_len) ;
97- }
98- Ok ( ( ) )
99- }
100- }
101-
102- pub struct BVecWriter < ' a > ( & ' a mut BytesVec ) ;
68+ pub struct BVecWriter < ' a > ( pub & ' a mut BytesVec ) ;
10369
10470impl < ' a > BVecWriter < ' a > {
10571 pub fn new ( buf : & ' a mut BytesVec ) -> BVecWriter < ' a > {
106- let remaining = buf. remaining_mut ( ) ;
107- if remaining < 2048 {
108- buf. reserve ( HW ) ;
109- }
72+ reserve ( buf, 2048 ) ;
11073 Self ( buf)
11174 }
11275}
0 commit comments