Hi,
wie wir alle wissen, ist PBP keineswegs perfekt. So bin auch ich auf der Suche auf der Suche nach Möglichkeiten, die Funktionalität von PBP zu verbessern. Eine wichtige Komponente wurde meiner Meinung nach bisher sträflich vernachlässigt:
Die ausreichende Versorgung der Mitspieler mit Proviant und Getränken.
Während meiner Recherchen bin ich im Internet auf eine gute Basis für entsprechende Erweiterungen gestoßen, das GSTP (Grilled Steaks Transfer Protocol). Meiner Meinung nach sollten unsere Progger versuchen, die entsprechenden Erweiterungen umgehend zu implementieren, um gerade in der Sommerzeit eine gleichmäßige Versorgung aller Mitspieler zu gewährleisten.
1. Einleitung
Das Ziel des Grilled Steaks Transfer Protocols (GSTP) ist gegrillte Steaks zuverlässig und knusprig über weite Strecken zu transportieren.
Nötig wurde dies während der extremen Wetterschwankungen im Frühjahr 2001, welche die Entscheidung zwischen FLAL (FleischLappen AufLegen) und BABT (Bier Auf Balkon Trinken) in bestimmten Regionen unmöglich machten. Da andernorts bereits AOFG (Am Offenen Feuer Grillen) zum Einsatz kommen konnte, ist GSTP nötig geworden um entfernten Regionen bereits im Vorfeld der lokalen Grillsaison den GS Genuss zu ermöglichen.
2. Das GSTP Modell
Zur Kommunikation via GSTP werden ein GS-Sender (CHEF) und ein GS-Empfänger (HUNP [HUNgry Person]) vorrausgesetzt. Der Transport erfolgt auf der STREAT (STeak Raw EAT) Schicht.
H ~~~|GSTP|\
O ~~~~ |______| O
+-----+ \ / ~~~ oo oo \/|
|Grill|<--> | ------- STREAT --------> (_|
+-----+ / \ _|
CHEF HUNP
Die Anforderung des GS beim CHEF erfolgt ueber das populäre SMTP (Steak Mit Toast Please!) Protokoll.
3. GSTP Kommandos
3.1 GRIL
Die Zubereitung beginnt mit dem Kommando GRIL welches den Grill veranlasst ein Steak zu braten.
3.2 KNSPR
Nach dem Grillen sendet der Grill das Kommando KNSPR (mnemonisch: knusprig) an CHEF.
3.3 CALL
CHEF sendet das CALL Kommando an den Driver der STREAT Schicht. Dieser bereitet sich selbständig auf die Aufnahme eines GSPs (Grilled Steak Paket) vor.
3.4 HUNP
Das HUNP Kommando teilt dem Driver die GS-Z (Zieladresse) mit.
Ab hier läuft die Kommunikation auf der bekannten STREAT-Schicht weiter.
4. Fehlercodes
Soweit nicht anders vermerkt, sind alle auftretenden Fehler fatal und der Prozess muss bei GRIL neu gestartet werden.
4.1 VBRNT
Das soeben aufgelegte Steak ist VerBRanNT.
4.2 CHUN
CHef hatte HUNger und hat das fertige Steak selbst gegessen.
4.3 DRECK
Während der Zubereitung des Steaks durch Chef ist es in den DRECK gefallen.
4.4 OOST
Out Of STeaks. Meldung des Grills.
4.5 LATE
Driver to LATE. Das Steak kam zu spät, HUNP ist verhungert. Der ProZESS muss *nicht* neu gestartet werden.
Soweit bereits bekannt von:
http://www.netwarefaq.de/00301c022.htmlLeider ist das noch nicht ausreichend, da für unsere Zwecke auch ein kontinuierlicher Flüssigkeitsnachschub erforderlich ist. Aus diesem Grunde empfehle ich eine Erweiterung von GSTP um die Module BKA-L (BierKAsten-Lieferservice) und DTTP (Distributed Taurus Transport Protocol). Diese können als Erweiterung der STREAT-Schicht gesehen werden. Leider gibt es noch das Problem, das das BKA-L stackable ist, im DTTP ist dies dagegen nicht vorgesehen.
Das Funktionsprinzip ist das folgende:
Wenn HUNP den Status TP (Thirsty Person) erreicht, wird per NTP (Need Taurus Please) bzw. NOOB (Now Out Of Beer) ein RFD (Request For Drinks) generiert. Erreicht dieses den Driver rechtzeitig, wird ein Interrupt ausgelöst und ein BBS (Business Beverage Shopping event) eingeleitet. Nachdem das Paket den Empfänger TP erreicht, wechselt dieser den Status auf RAS (Refuelled And Satisfied).
Allerdings müssen auch hier bestimmte Fehler abgefangen werden:
1. DHCP - Driver Hasn’t Cents and Pounds
Fahrer hat kein Geld. Für diesen Fall sollte unbedingt per ECC (EC-Card Charge) vorgebeugt werden, sonst ist TTL die zwangsläufige Folge.
2. TTL – Transport Too Late
TP ist verdurstet, Driver ändert seinen Status auf UDP (Unbelievable Drunken Person). Achtung! Dies kann zum Crash des gesamten Systems führen und ist daher unbedingt zu vermeiden.
Weitere Erweiterungen und Ergänzungen sind sicherlich nötig, hierfür ist aber zunächst ein SNMP (Super Nervous and Mad Programmer) erforderlich.
In diesem Sinne :)
Redhorse