From 57633137f749b0098eaf703f49ed00c96128966d Mon Sep 17 00:00:00 2001 From: Pixel Date: Tue, 30 Oct 2001 17:38:54 +0000 Subject: Huge work on Tasking System. --- lib/ReadJob.cc | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) (limited to 'lib/ReadJob.cc') diff --git a/lib/ReadJob.cc b/lib/ReadJob.cc index bd63377..d5b3212 100644 --- a/lib/ReadJob.cc +++ b/lib/ReadJob.cc @@ -1,6 +1,7 @@ #include "ReadJob.h" +#include "HttpServ.h" -ReadJob::ReadJob(Handle & as, Handle & ad) : s(as), d(ad) { } +ReadJob::ReadJob(Handle * as, Handle * ad, String regex, int flags) : s(as), d(ad), current(0) { } ReadJob::~ReadJob() { } @@ -8,9 +9,31 @@ int ReadJob::Do() { int r; String buff; - while (!s.IsClosed()) { - s >> buff; - d << buff; + cerr << "ReadJob running...\n"; + + while (!s->IsClosed()) { + if (!current) { + try { + *s >> buff; + } + catch (IOAgain) { + return TASK_WAITING_HANDLE; + } + current = 0; + } + try { + *d << buff << endnl; + } + catch (IOAgain) { + current = 1; + return TASK_WAITING_HANDLE; + } if (buff == "") return TASK_DONE; } + + return TASK_DONE; +} + +String ReadJob::GetName() { + return (String("ReadJob from ") + s->GetName() + " to " + d->GetName()); } -- cgit v1.2.3