mirror of
https://github.com/YACReader/yacreader
synced 2025-07-23 15:35:03 -04:00
fixed YACReader <-> YACReaderLibrary communication
updated QsLog sources
This commit is contained in:
@ -45,7 +45,7 @@ bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic,
|
||||
out << (quint32)(block.size() - sizeof(quint32));
|
||||
|
||||
int written, previousWritten = 0;
|
||||
int tries = 0;
|
||||
quint16 tries = 0;
|
||||
while(written != block.size() && tries < 200)
|
||||
{
|
||||
written += localSocket->write(block);
|
||||
@ -63,27 +63,36 @@ bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic,
|
||||
|
||||
//QByteArray data;
|
||||
tries = 0;
|
||||
while(localSocket->bytesAvailable() < sizeof(quint32) && tries < 10)
|
||||
int dataAvailable = 0;
|
||||
QByteArray packageSize;
|
||||
localSocket->waitForReadyRead(1000);
|
||||
while(packageSize.size() < sizeof(quint32) && tries < 20)
|
||||
{
|
||||
packageSize.append(localSocket->read(sizeof(quint32) - packageSize.size()));
|
||||
localSocket->waitForReadyRead(100);
|
||||
tries++;
|
||||
if(dataAvailable == packageSize.size())
|
||||
{
|
||||
tries++; //TODO apply 'tries' fix
|
||||
}
|
||||
dataAvailable = packageSize.size();
|
||||
}
|
||||
if(tries == 10)
|
||||
if(tries == 20)
|
||||
{
|
||||
localSocket->close();
|
||||
QLOG_ERROR() << "Requesting Comic Info : unable to read package size";
|
||||
return false;
|
||||
}
|
||||
QDataStream sizeStream(localSocket->read(sizeof(quint32)));
|
||||
QDataStream sizeStream(packageSize);//localSocket->read(sizeof(quint32)));
|
||||
sizeStream.setVersion(QDataStream::Qt_4_8);
|
||||
quint32 totalSize = 0;
|
||||
sizeStream >> totalSize;
|
||||
|
||||
|
||||
QByteArray data;
|
||||
|
||||
tries = 0;
|
||||
int dataRead = 0;
|
||||
while(data.length() < totalSize && tries < 20 )
|
||||
localSocket->waitForReadyRead(1000);
|
||||
while(data.length() < totalSize && tries < 20 )
|
||||
{
|
||||
data.append(localSocket->readAll());
|
||||
if(data.length() < totalSize)
|
||||
@ -92,10 +101,11 @@ bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic,
|
||||
tries++;
|
||||
dataRead = data.length();
|
||||
}
|
||||
if(tries == 20)
|
||||
|
||||
if(tries == 20)
|
||||
{
|
||||
localSocket->close();
|
||||
QLOG_ERROR() << QString("Requesting Comic Info : unable to read data (%1,%2)").arg(data.length()).arg(totalSize);
|
||||
QLOG_ERROR() << "Requesting Comic Info : unable to read data (" << data.length() << "," << totalSize << ")";
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -127,7 +137,8 @@ bool YACReaderLocalClient::sendComicInfo(quint64 libraryId, ComicDB & comic)
|
||||
out.device()->seek(0);
|
||||
out << (quint32)(block.size() - sizeof(quint32));
|
||||
|
||||
int written, previousWritten = 0;
|
||||
int written, previousWritten;
|
||||
written = previousWritten = 0;
|
||||
int tries = 0;
|
||||
while(written != block.size() && tries < 100)
|
||||
{
|
||||
|
Reference in New Issue
Block a user