MCPcopy Create free account
hub / github.com/YACReader/yacreader / sendComicInfo

Method sendComicInfo

YACReader/yacreader_local_client.cpp:118–157  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

116}
117
118bool YACReaderLocalClient::sendComicInfo(quint64 libraryId, ComicDB &comic)
119{
120 localSocket->connectToServer(YACREADERLIBRARY_GUID);
121 if (localSocket->isOpen()) {
122 // QLOG_INFO() << "Connection opened for sending ComicInfo";
123 QByteArray block;
124 QDataStream out(&block, QIODevice::WriteOnly);
125 out.setVersion(QDataStream::Qt_4_8);
126 out << (quint32)0;
127 out << (quint8)YACReader::SendComicInfo;
128 out << libraryId;
129 out << comic;
130 out.device()->seek(0);
131 out << (quint32)(block.size() - sizeof(quint32));
132
133 int written, previousWritten;
134 written = previousWritten = 0;
135 int tries = 0;
136 while (written != block.size() && tries < 100) {
137 written += localSocket->write(block);
138 if (written == previousWritten)
139 tries++;
140 previousWritten = written;
141 }
142 localSocket->waitForBytesWritten(2000);
143 localSocket->close();
144 // QLOG_INFO() << QString("Sending Comic Info : writen data (%1,%2)").arg(written).arg(block.size());
145 if (tries == 100 && written != block.size()) {
146 emit finished();
147 QLOG_ERROR() << QString("Sending Comic Info : unable to write data (%1,%2)").arg(written).arg(block.size());
148 return false;
149 }
150 emit finished();
151 return true;
152 }
153
154 emit finished();
155 QLOG_ERROR() << "Sending Comic Info : unable to connect to the server";
156 return false;
157}
158
159bool YACReaderLocalClient::sendComicInfo(quint64 libraryId, ComicDB &comic, qulonglong nextComicId)
160{

Callers 1

sendComicMethod · 0.80

Calls 3

writeMethod · 0.80
QStringClass · 0.50
closeMethod · 0.45

Tested by

no test coverage detected