Zum Inhalt springen
Dialova

IRC-Dokumentation · Experten

BATCH: zusammengehörige IRC-Ereignisse gruppieren

batch kennzeichnet mehrere IRC-Nachrichten als zusammengehörig. Der Batch-Typ erklärt ihren Zusammenhang, zum Beispiel einen Netsplit oder einen Verlaufsausschnitt. Ein Batch ist nicht automatisch eine mehrzeilige Chatnachricht.

Dialova-Team · Überprüft am

Einen Batch öffnen, Nachrichten zuordnen und ihn schließen #

IRC-Austausch: C = Client, S = Server
S: :irc.example BATCH +lot1 netsplit irc-a.example irc-b.example
S: @batch=lot1 :Bob!u@cloak.example QUIT :Connexion interrompue
S: @batch=lot1 :Chloe!u@cloak.example QUIT :Connexion interrompue
S: :irc.example BATCH -lot1

Der Server öffnet den Batch mit + und einer nicht weiter zu interpretierenden Kennung, gefolgt vom Typ. Zugehörige Nachrichten tragen das entsprechende batch-Tag. - mit derselben Kennung beendet den Batch. Die Kennung unterscheidet Groß- und Kleinschreibung und darf nicht mit fachlicher Bedeutung aufgeladen werden.

Aushandlung und Batch-Typ #

Der Client fordert die Capability batch an und wartet auf ACK. Er muss das Tag-Format verstehen. Die Batch-Typen selbst werden nicht als Liste über CAP ausgehandelt. Ihre Bedeutung legt die jeweilige Erweiterung fest. Ein unbekannter Typ erlaubt nicht, seinen Inhalt zu verwerfen.

Ein Batch darf leer sein. Mehrere Batches können ineinander verschränkt und Batches können verschachtelt sein. Ein einziger globaler Puffer oder die Annahme, alle folgenden Nachrichten gehörten zum selben Batch, würde gültige Abläufe falsch interpretieren.

Verlauf und aktueller Zustand #

Der Typ chathistory gruppiert vergangene Ereignisse. Entferne ein aktuell anwesendes Mitglied nicht deshalb aus der Liste, weil ein früheres QUIT in einem Verlaufsbatch vorkommt. Die Anzeige vergangener Ereignisse und Änderungen am aktuellen Zustand haben unterschiedliche Aufgaben.

Zum Prüfdatum heißt die Capability für Verlaufsanfragen weiterhin draft/chathistory, während der Batch-Typ chathistory finalisiert ist. draft/multiline beschreibt wiederum einen anderen Anwendungsfall. batch-Unterstützung allein garantiert diese Funktionen nicht.

Die Verarbeitung begrenzen und abschließen #

  • Eine Tabelle von Batches nach Kennung führen, statt nur eine einzelne Variable zu verwenden.
  • Die Zuordnung zu einem möglichen übergeordneten Batch erhalten.
  • Größe und Anzahl der Batches begrenzen und Verbindungsabbrüche berücksichtigen.
  • Ein Nachladen nicht als neue Benutzeraktion anzeigen und nicht automatisch auf historische Ereignisse antworten.

Quellen und Überprüfung

Die Beispiele verwenden erfundene Nicknames und Domains. Ausgenommen sind ausdrücklich dokumentierte Verbindungsadressen. Netzwerkspezifische Erweiterungen und Einstellungen werden im Text gekennzeichnet.