Job-Puffergroesse v. Avanti-W?
Thomas Berger
ThB at gymel.com
Do Dez 5 08:14:40 CET 2002
Lieber Herr Eger,
> avntserv.exe könnte doch den Job erstmal in einen Puffer
> schieben, bis "\nAVANTI:EOJ\n" eingetroffen ist und dann
> an procav übergeben (wenn ich mir die Aufgabenverteilung
Das war genau der Grund, warum "AVANTI:EOJ" einige
Zeit nach dessen "Geburt" in das avanti-Protokoll
eingebaut worden war: Vorher hatte er ganz bewusst
die Strategie verfolgt, inmmer loszuarbeiten, sobald
es "nichts mehr zu lesen" gab.
Client und Server haben keinen Einfluss auf die maximale
Paketgroesse ihrer Verbindung und es gibt keine Methode,
die garantieren wuerde, dass der Server unmittelbar nach
Auslesen des ersten Pakets das zweite Paket bereits
empfangen hat. Eine errechnete Laengenangabe am Anfang
des Jobs oder eben - wie eingebaut - ein explizites
Ende-Element auf Protokollebene sind die einzigen
Moeglichkeiten, vollstaendige Kommunikation zu
gewaehrleisten.
Das procav den Job erst am Ende uebergeben bekommt,
muss vermutlich so sein, aufgrund der Designprobleme
in avanti. "Normalerweise" wuerde der Server einen
Kommunikationsversuch bemerken, und die "Leitung"
an procav uebergeben. Dieses waere dann fuer den
Empfang des Jobs zustaendig, dessen Abarbeitung
und die Uebertragung des Resultats. Realisiert
hingegen ist, dass die Server-Komponente den
Job einsammelt, per shared Memory an procav
uebergibt, das Resultat von procav per shared
Memory entgegennimmt (seit einigen Versionen
immerhin portionsweise) und uebermittelt.
viele Gruesse
Thomas Berger
Mehr Informationen über die Mailingliste Allegro