bug:ec.encode

This commit is contained in:
weisd
2024-07-09 18:09:02 +08:00
parent 59f63b3bf9
commit 98b4422956
9 changed files with 138 additions and 24 deletions
+25 -12
View File
@@ -5,6 +5,7 @@ use s3s::StdError;
use std::future::Future;
use std::pin::Pin;
use std::task::{Context, Poll};
use tracing::debug;
use transform_stream::AsyncTryStream;
pub type SyncBoxFuture<'a, T> = Pin<Box<dyn Future<Output = T> + Send + Sync + 'a>>;
@@ -36,6 +37,14 @@ impl ChunkedStream {
None => break,
Some(Err(e)) => return Err(e),
Some(Ok((data, remaining_bytes))) => {
debug!(
"content_length:{},readed_size:{}, read_data data:{}, remaining_bytes: {} ",
content_length,
readed_size,
data.len(),
remaining_bytes.len()
);
prev_bytes = remaining_bytes;
data
}
@@ -75,6 +84,8 @@ impl ChunkedStream {
}
}
debug!("chunked stream exit");
Ok(())
})
});
@@ -96,6 +107,8 @@ impl ChunkedStream {
// 只执行一次
let mut push_data_bytes = |mut bytes: Bytes| {
debug!("read from body {} split per {}, prev_bytes: {}", bytes.len(), data_size, prev_bytes.len());
if bytes.is_empty() {
return None;
}
@@ -119,12 +132,12 @@ impl ChunkedStream {
combined.extend_from_slice(&prev_bytes);
combined.extend_from_slice(&data);
// println!(
// "取到的长度大于所需,取出需要的长度:{},与上一次合并得到:{},bytes剩余:{}",
// need_size,
// combined.len(),
// bytes.len(),
// );
debug!(
"取到的长度大于所需,取出需要的长度:{},与上一次合并得到:{},bytes剩余:{}",
need_size,
combined.len(),
bytes.len(),
);
bytes_buffer.push(Bytes::from(combined));
} else {
@@ -132,12 +145,12 @@ impl ChunkedStream {
combined.extend_from_slice(&prev_bytes);
combined.extend_from_slice(&bytes);
// println!(
// "取到的长度小于所需,取出需要的长度:{},与上一次合并得到:{},bytes剩余:{},直接返回",
// need_size,
// combined.len(),
// bytes.len(),
// );
debug!(
"取到的长度小于所需,取出需要的长度:{},与上一次合并得到:{},bytes剩余:{},直接返回",
need_size,
combined.len(),
bytes.len(),
);
return Some(Bytes::from(combined));
}