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