mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-12-25 01:46: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);
|
std::string source_id = std::string(src_id, src_id_size);
|
||||||
LOG_ERROR("Receive from source [{}]", source_id);
|
|
||||||
if (source_id == "file") {
|
if (source_id == "file") {
|
||||||
// try to parse as file-transfer chunk first
|
// try to parse as file-transfer chunk first
|
||||||
static FileReceiver receiver;
|
static FileReceiver receiver;
|
||||||
receiver.OnData(data, size);
|
receiver.OnData(data, size);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string json_str(data, size);
|
std::string json_str(data, size);
|
||||||
|
|||||||
@@ -165,7 +165,6 @@ std::filesystem::path FileReceiver::GetDefaultDesktopPath() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool FileReceiver::OnData(const char* data, size_t size) {
|
bool FileReceiver::OnData(const char* data, size_t size) {
|
||||||
LOG_ERROR("FileReceiver::OnData: size={}", size);
|
|
||||||
if (!data || size < sizeof(FileChunkHeader)) {
|
if (!data || size < sizeof(FileChunkHeader)) {
|
||||||
LOG_ERROR("FileReceiver::OnData: invalid buffer");
|
LOG_ERROR("FileReceiver::OnData: invalid buffer");
|
||||||
return false;
|
return false;
|
||||||
@@ -263,11 +262,6 @@ bool FileReceiver::HandleChunk(const FileChunkHeader& header,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
ctx.received += static_cast<uint64_t>(payload_size);
|
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;
|
bool is_last = (header.flags & 0x02) != 0;
|
||||||
|
|||||||
Submodule submodules/minirtc updated: bfc9b0c9d4...95d2027835
Reference in New Issue
Block a user