|
1 | | -use super::utils::too_short; |
2 | 1 | use super::{Body, Frame, Version}; |
| 2 | +use crate::error::RSocketError; |
3 | 3 | use crate::utils::Writeable; |
4 | 4 | use bytes::{Buf, BufMut, Bytes, BytesMut}; |
5 | 5 |
|
@@ -29,21 +29,21 @@ impl Resume { |
29 | 29 |
|
30 | 30 | pub(crate) fn decode(flag: u16, b: &mut BytesMut) -> crate::Result<Resume> { |
31 | 31 | if b.len() < 6 { |
32 | | - return too_short(6); |
| 32 | + return Err(RSocketError::InCompleteFrame.into()); |
33 | 33 | } |
34 | 34 | let major = b.get_u16(); |
35 | 35 | let minor = b.get_u16(); |
36 | 36 | let token_size = b.get_u16() as usize; |
37 | 37 | let token = if token_size > 0 { |
38 | 38 | if b.len() < token_size { |
39 | | - return too_short(token_size); |
| 39 | + return Err(RSocketError::InCompleteFrame.into()); |
40 | 40 | } |
41 | 41 | Some(b.split_to(token_size).freeze()) |
42 | 42 | } else { |
43 | 43 | None |
44 | 44 | }; |
45 | 45 | if b.len() < 16 { |
46 | | - return too_short(16); |
| 46 | + return Err(RSocketError::InCompleteFrame.into()); |
47 | 47 | } |
48 | 48 | let last_received_server_position = b.get_u64(); |
49 | 49 | let first_available_client_position = b.get_u64(); |
@@ -114,7 +114,7 @@ impl Writeable for Resume { |
114 | 114 | self.version.write_to(bf); |
115 | 115 | if let Some(b) = self.get_token() { |
116 | 116 | bf.put_u16(b.len() as u16); |
117 | | - bf.put(b.bytes()); |
| 117 | + bf.extend_from_slice(b); |
118 | 118 | } |
119 | 119 | bf.put_u64(self.get_last_received_server_position()); |
120 | 120 | bf.put_u64(self.get_first_available_client_position()); |
|
0 commit comments