Saltar al contenido
Dialova

Documentación IRC · Avanzado

Batch: agrupar eventos IRC relacionados

batch indica que varios mensajes IRC pertenecen a un mismo conjunto. El tipo de lote explica su relación: un netsplit o un fragmento de historial, por ejemplo. Un batch no es automáticamente una conversación multilínea.

El equipo de Dialova · Verificado el

Abrir un lote, asociar mensajes y cerrarlo #

Intercambio IRC: C = cliente, S = servidor
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

El servidor abre el lote con + seguido de un identificador opaco y un tipo. Los mensajes asociados llevan la etiqueta batch correspondiente. El lote termina con - seguido del mismo identificador. El identificador distingue mayúsculas y minúsculas; no hay que atribuirle un significado funcional.

Negociación y tipo de lote #

El cliente solicita la capacidad batch y espera ACK. Debe entender el formato de las etiquetas. Los tipos de batch no son una lista negociada por CAP: cada extensión define el significado de su tipo. Que un tipo sea desconocido no permite descartar su contenido.

Un lote puede estar vacío. Varios lotes pueden intercalarse o estar anidados. Un único búfer global, o suponer que todos los mensajes siguientes pertenecen al lote, interpretaría mal intercambios válidos.

Historial y estado actual #

El tipo chathistory agrupa eventos pasados. No hagas salir a un miembro presente solo porque un antiguo QUIT aparezca en un lote histórico: la presentación visual y los cambios del estado actual cumplen funciones diferentes.

En la fecha de verificación, la capacidad para solicitar el historial sigue siendo draft/chathistory, mientras que el tipo de lote chathistory ya está finalizado. La extensión draft/multiline define otro uso distinto. Soportar batch no basta para prometer esas funciones.

Limitar y finalizar el procesamiento #

  • Mantener una tabla de lotes por identificador, no una sola variable.
  • Conservar la relación con un posible lote padre.
  • Limitar el tamaño y el número de lotes y gestionar las interrupciones del transporte.
  • No presentar una reproducción del historial como una acción nueva ni responder automáticamente a eventos históricos.

Fuentes y verificación

Los ejemplos usan apodos y dominios ficticios, salvo los puntos de conexión expresamente documentados. Las extensiones y los ajustes específicos de una red se indican en el texto.