Work-in-progress to reduce latency time:

* service->SendItem() now goes direct to pqistreamer buffer.
 * split p3FastService out of p3Service.
	p3FastService removes the recv buffer for faster processing.
	p3Service maintains its original interface, so derivate classes can remain unchanged.
 * Added uint32_t usec (wait period) to BinInterface.moretoread() & cansend() for future threading.
 * Added Mutex protection to pqistreamer, pqissl and derivatives of both.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6783 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
drbob 2013-10-01 10:11:34 +00:00
parent 8e7fe9f79b
commit a7dd9ad9e3
24 changed files with 713 additions and 574 deletions

View file

@ -224,7 +224,7 @@ int pqistore::writePkt(RsItem *pqi)
}
if (!(bio->cansend()))
if (!(bio->cansend(0)))
{
std::string out;
rs_sprintf(out, "pqistore::writePkt() BIO cannot write!\niscarding:\n");
@ -278,7 +278,7 @@ int pqistore::readPkt(RsItem **item_out)
pqioutput(PQL_DEBUG_ALL, pqistorezone, "pqistore::readPkt()");
#endif
if ((!(bio->isactive())) || (!(bio->moretoread())))
if ((!(bio->isactive())) || (!(bio->moretoread(0))))
{
return 0;
}
@ -418,7 +418,7 @@ bool pqiSSLstore::getEncryptedItems(std::list<RsItem* >& rsItemList)
{
if (NULL != (item = GetItem()))
rsItemList.push_back(item);
} while (enc_bio->isactive() && enc_bio->moretoread());
} while (enc_bio->isactive() && enc_bio->moretoread(0));
return true;
}
@ -471,7 +471,7 @@ int pqiSSLstore::readPkt(RsItem **item_out)
pqioutput(PQL_DEBUG_ALL, pqistorezone, "pqistore::readPkt()");
#endif
if ((!(enc_bio->isactive())) || (!(enc_bio->moretoread())))
if ((!(enc_bio->isactive())) || (!(enc_bio->moretoread(0))))
{
return 0;
}