mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-12-24 17:41:41 +08:00
[fix] fix file transfer
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Submodule submodules/minirtc updated: bfc9b0c9d4...95d2027835
Reference in New Issue
Block a user