@@ -3,6 +3,8 @@ use crate::payload::Payload;
33use bytes:: { Buf , BufMut , Bytes , BytesMut } ;
44use std:: collections:: LinkedList ;
55
6+ pub ( crate ) const MIN_MTU : usize = 64 ;
7+
68pub ( crate ) struct Joiner {
79 inner : LinkedList < Frame > ,
810}
@@ -79,7 +81,7 @@ impl Into<Payload> for Joiner {
7981 let mut bf = BytesMut :: new ( ) ;
8082 let mut bf2 = BytesMut :: new ( ) ;
8183 self . inner . into_iter ( ) . for_each ( |it : Frame | {
82- let ( d, m) = match it. get_body ( ) {
84+ let ( d, m) = match it. body {
8385 Body :: RequestResponse ( body) => body. split ( ) ,
8486 Body :: RequestStream ( body) => body. split ( ) ,
8587 Body :: RequestChannel ( body) => body. split ( ) ,
@@ -110,10 +112,10 @@ impl Into<Payload> for Joiner {
110112}
111113
112114impl Joiner {
113- pub ( crate ) fn new ( first : Frame ) -> Joiner {
114- let mut inner = LinkedList :: new ( ) ;
115- inner. push_back ( first ) ;
116- Joiner { inner }
115+ pub ( crate ) fn new ( ) -> Joiner {
116+ Joiner {
117+ inner : LinkedList :: new ( ) ,
118+ }
117119 }
118120
119121 pub ( crate ) fn get_stream_id ( & self ) -> u32 {
@@ -129,13 +131,11 @@ impl Joiner {
129131 }
130132
131133 pub ( crate ) fn first ( & self ) -> & Frame {
132- self . inner . front ( ) . unwrap ( )
134+ self . inner . front ( ) . expect ( "No frames pushed!" )
133135 }
134136
135- pub ( crate ) fn push ( & mut self , next : Frame ) -> bool {
136- let has_follow = ( next. get_flag ( ) & frame:: FLAG_FOLLOW ) != 0 ;
137+ pub ( crate ) fn push ( & mut self , next : Frame ) {
137138 self . inner . push_back ( next) ;
138- !has_follow
139139 }
140140}
141141
@@ -153,7 +153,8 @@ mod tests {
153153 . set_data ( Bytes :: from ( "(ROOT)" ) )
154154 . set_metadata ( Bytes :: from ( "(ROOT)" ) )
155155 . build ( ) ;
156- let mut joiner = Joiner :: new ( first) ;
156+ let mut joiner = Joiner :: new ( ) ;
157+ joiner. push ( first) ;
157158
158159 for i in 0 ..10 {
159160 let flag = if i == 9 { 0u16 } else { frame:: FLAG_FOLLOW } ;
0 commit comments