mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-14 08:38:45 +00:00
API Buffered Write
.. when sending metrics, since if no selection is made it can result in thousands of needless updates !
This commit is contained in:
@@ -11,6 +11,8 @@ HttpResponse::HttpResponse(QTcpSocket* socket) {
|
||||
statusText="OK";
|
||||
sentHeaders=false;
|
||||
sentLastPart=false;
|
||||
buffersize=4096;
|
||||
barry.reserve(4096);
|
||||
}
|
||||
|
||||
void HttpResponse::setHeader(QByteArray name, QByteArray value) {
|
||||
@@ -72,6 +74,25 @@ bool HttpResponse::writeToSocket(QByteArray data) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void HttpResponse::bwrite(QByteArray data)
|
||||
{
|
||||
if (barry.size() && (barry.size() + data.size() > buffersize)) {
|
||||
// flush buffer
|
||||
write(barry);
|
||||
barry = data;
|
||||
} else {
|
||||
barry.append(data);
|
||||
}
|
||||
}
|
||||
|
||||
void HttpResponse::flush()
|
||||
{
|
||||
if (barry.size()) {
|
||||
write(barry, true);
|
||||
barry.clear();
|
||||
}
|
||||
}
|
||||
|
||||
void HttpResponse::write(QByteArray data, bool lastPart) {
|
||||
Q_ASSERT(sentLastPart==false);
|
||||
if (sentHeaders==false) {
|
||||
|
||||
Reference in New Issue
Block a user