mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
fixed YACReader<->YACReaderLibrary communication
This commit is contained in:
parent
2ff1a49215
commit
e6d7a47575
@ -44,13 +44,15 @@ bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic,
|
|||||||
out.device()->seek(0);
|
out.device()->seek(0);
|
||||||
out << (quint32)(block.size() - sizeof(quint32));
|
out << (quint32)(block.size() - sizeof(quint32));
|
||||||
|
|
||||||
int written = 0;
|
int written, previousWritten = 0;
|
||||||
int tries = 0;
|
int tries = 0;
|
||||||
while(written != block.size() && tries < 200)
|
while(written != block.size() && tries < 200)
|
||||||
{
|
{
|
||||||
written += localSocket->write(block);
|
written += localSocket->write(block);
|
||||||
localSocket->flush();
|
localSocket->flush();
|
||||||
tries++;
|
if(written == previousWritten) //no bytes were written
|
||||||
|
tries++;
|
||||||
|
previousWritten = written;
|
||||||
}
|
}
|
||||||
if(tries == 200)
|
if(tries == 200)
|
||||||
{
|
{
|
||||||
@ -80,14 +82,17 @@ bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic,
|
|||||||
QByteArray data;
|
QByteArray data;
|
||||||
|
|
||||||
tries = 0;
|
tries = 0;
|
||||||
while(data.length() < totalSize && tries < 10 )
|
int dataRead = 0;
|
||||||
|
while(data.length() < totalSize && tries < 20 )
|
||||||
{
|
{
|
||||||
data.append(localSocket->readAll());
|
data.append(localSocket->readAll());
|
||||||
if(data.length() < totalSize)
|
if(data.length() < totalSize)
|
||||||
localSocket->waitForReadyRead(100);
|
localSocket->waitForReadyRead(100);
|
||||||
tries++;
|
if(data.length() == dataRead)
|
||||||
|
tries++;
|
||||||
|
dataRead = data.length();
|
||||||
}
|
}
|
||||||
if(tries == 10)
|
if(tries == 20)
|
||||||
{
|
{
|
||||||
localSocket->close();
|
localSocket->close();
|
||||||
QLOG_ERROR() << QString("Requesting Comic Info : unable to read data (%1,%2)").arg(data.length()).arg(totalSize);
|
QLOG_ERROR() << QString("Requesting Comic Info : unable to read data (%1,%2)").arg(data.length()).arg(totalSize);
|
||||||
@ -122,12 +127,14 @@ bool YACReaderLocalClient::sendComicInfo(quint64 libraryId, ComicDB & comic)
|
|||||||
out.device()->seek(0);
|
out.device()->seek(0);
|
||||||
out << (quint32)(block.size() - sizeof(quint32));
|
out << (quint32)(block.size() - sizeof(quint32));
|
||||||
|
|
||||||
int written = 0;
|
int written, previousWritten = 0;
|
||||||
int tries = 0;
|
int tries = 0;
|
||||||
while(written != block.size() && tries < 100)
|
while(written != block.size() && tries < 100)
|
||||||
{
|
{
|
||||||
written += localSocket->write(block);
|
written += localSocket->write(block);
|
||||||
tries++;
|
if(written == previousWritten)
|
||||||
|
tries++;
|
||||||
|
previousWritten = written;
|
||||||
}
|
}
|
||||||
localSocket->close();
|
localSocket->close();
|
||||||
if(tries == 100 && written != block.size())
|
if(tries == 100 && written != block.size())
|
||||||
|
@ -114,12 +114,15 @@ void YACReaderClientConnectionWorker::run()
|
|||||||
|
|
||||||
tries = 0;
|
tries = 0;
|
||||||
QByteArray data;
|
QByteArray data;
|
||||||
|
int dataRead = 0;
|
||||||
while(data.size() < totalSize && tries < 200)
|
while(data.size() < totalSize && tries < 200)
|
||||||
{
|
{
|
||||||
data.append(clientConnection->readAll());
|
data.append(clientConnection->readAll());
|
||||||
if(data.length() < totalSize)
|
if(data.length() < totalSize)
|
||||||
clientConnection->waitForReadyRead(100);
|
clientConnection->waitForReadyRead(100);
|
||||||
tries++;
|
if(dataRead == data.length()) //no bytes were read
|
||||||
|
tries++;
|
||||||
|
dataRead = data.length();
|
||||||
}
|
}
|
||||||
if(tries == 200)
|
if(tries == 200)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user