Ejemplo n.º 1
0
void TWebPgFetchPersist::Save(TSOut& SOut) const
{
	if (ConnFIdToEventH.Len() > 0)
		Notify->OnStatusFmt("TWebPgFetchPersist.Save. Saving %d pending web requests to disk...", ConnFIdToEventH.Len());
	// serialize requests in the queue
	for (int KeyId = ConnFIdToEventH.FFirstKeyId(); ConnFIdToEventH.FNextKeyId(KeyId);) {
		const int FId = ConnFIdToEventH.GetKey(KeyId);
		PUrl Url = GetConnUrl(FId);
		Url->Save(SOut);
	}
	// serialize requests that are currently in progress
	TLstNd<TIdUrlPr>* Item = WaitFIdUrlPrL.First();
	while (Item != NULL) {
		Item->Val.Val2->Save(SOut);;
		Item = Item->Next();
	}
	if (ConnFIdToEventH.Len() > 0)
		Notify->OnStatusFmt("TWebPgFetchPersist.Save. Saved %d requests to the disk.", ConnFIdToEventH.Len());
}