25 int chunkSize = DataHeaderUtils::DEF_CHUNK_SZ,
26 qint64 startOffset = 0);
27 void onBytes(
const QByteArray& bytes);
30 void frameReady(
const QByteArray& frame);
32 void sendProgress(quint64 sent, quint64 total);
34 void receiveProgress(
const QString& fileId, quint64 received, quint64 total);
36 void protocolError(
const QString& reason);
43 static constexpr int PARSE_TIMEOUT_MS = 5000;
44 void sendStartFrame(quint64 fileId,
47 void sendDataFrame(quint64 fileId,
49 const QByteArray& chunk,
51 void sendEndFrame(quint64 fileId,
60 bool ensureSize(
int need)
const;
64 quint64 sendFileSize { 0 };
65 quint64 sendFileHasSent { 0 };
66 DataHeaderUtils::CurrentState state {
67 DataHeaderUtils::CurrentState::ReadingHeader
71 quint64 curReceived { 0 };
76 QElapsedTimer* elapsed_timeout;