Files
factorio-clusterio/packages/lib
Hornwitser f5255d6f76 Fix message seq reuse on forwarding (#579)
When messages were forwarded they were sent using the low level
connector .send method which accepts a message and sends it over the
link.  This method sends the message as is with no modification which
means that at no point during the forwarding logic was the message
sequence number that originated from Link A renumbered to the correct
sequence number to send out on Link B which it was forwarded on.

This in turn caused the logic which drops acked messages from the send
buffer to break which in turn meant the resume could cause duplication
of message and/or messages to be lost.  With enough duplicated messages
the resume of one connection could cause other connections to drop and
also initiate resume.

Fix by renumbering the sequence on forwarded messages.  In the future
the sequences sent and received should also be checked to make sure this
kind of problem does not happen again, this is not done here because
partially updating a running cluster with sequence problems to one that
checks and enforces sequences numbers will be problematic.
2024-01-26 13:02:26 +01:00
..
2023-12-03 19:59:14 +01:00
2024-01-24 04:40:21 +01:00
2023-02-22 15:30:51 +01:00
2023-11-25 18:19:15 +01:00

Common Library for Clusterio

This package contains functionality shared between controller, host, ctl and/or plugins of Clusterio.

See the Clusterio repository for more information on Clusterio.