[fix] fix file transfer

This commit is contained in:
dijunkun
2025-12-24 01:45:59 +08:00
parent 4035e0dd13
commit 3ad66f5e0b
3 changed files with 2 additions and 8 deletions

View File

@@ -312,11 +312,11 @@ void Render::OnReceiveDataBufferCb(const char* data, size_t size,
}
std::string source_id = std::string(src_id, src_id_size);
LOG_ERROR("Receive from source [{}]", source_id);
if (source_id == "file") {
// try to parse as file-transfer chunk first
static FileReceiver receiver;
receiver.OnData(data, size);
return;
}
std::string json_str(data, size);

View File

@@ -165,7 +165,6 @@ std::filesystem::path FileReceiver::GetDefaultDesktopPath() {
}
bool FileReceiver::OnData(const char* data, size_t size) {
LOG_ERROR("FileReceiver::OnData: size={}", size);
if (!data || size < sizeof(FileChunkHeader)) {
LOG_ERROR("FileReceiver::OnData: invalid buffer");
return false;
@@ -263,11 +262,6 @@ bool FileReceiver::HandleChunk(const FileChunkHeader& header,
return false;
}
ctx.received += static_cast<uint64_t>(payload_size);
LOG_ERROR(
"FileReceiver: chunk received, file_id={}, offset={}, chunk_size={}, "
"received={}/{}, is_first={}, is_last={}",
header.file_id, header.offset, payload_size, ctx.received,
ctx.total_size, (header.flags & 0x01) != 0, (header.flags & 0x02) != 0);
}
bool is_last = (header.flags & 0x02) != 0;