LINUX.ORG.RU

История изменений

Исправление cumvillain, (текущая версия) :

В том, что очередь в принципе не может переполнится и нет риска OOM. Сообщения зависшим клиентам перестают отправляться и после развисания передаётся только разница по состоянию на момент зависания с пропуском промежуточных состояний.

И что тебе мешает дропать ивенты? :D

Ты все никак не можешь понять что проблема здесь не в механизме доставке (синхронный / асинхронный), а в том, можно ли терять ивенты или нет. Если бы их можно было терять, можно было бы просто дропать их при переполнении ринга, вместо закрытия коннекшона. Но как мы уже выяснили, дропать их нельзя, потому что лезет куча корнеркейсов. И самое простое – тупо их буферизировать, как это делал xserver.

Исправление cumvillain, :

В том, что очередь в принципе не может переполнится и нет риска OOM. Сообщения зависшим клиентам перестают отправляться и после развисания передаётся только разница по состоянию на момент зависания с пропуском промежуточных состояний.

И что тебе мешает дропать ивенты? :D

Ты все никак не можешь понять что проблема здесь не в механизме доставке (синхронный / асинхронный), а в том, можно ли терять ивенты или нет. Если бы их можно было терять, можно было бы просто дропать их при переполнении ринга, вместо закрытия коннекшона. Но как мы уже выяснили, дропать их нельзя, потому что лезет кучу корнеркейсов. И самое простое – тупо их буферизировать, как это делал xserver.

Исходная версия cumvillain, :

В том, что очередь в принципе не может переполнится и нет риска OOM. Сообщения зависшим клиентам перестают отправляться и после развисания передаётся только разница по состоянию на момент зависания с пропуском промежуточных состояний.

И что тебе мешает дропать ивенты? :D

Ты все никак не можешь понять что проблема здесь не в механизме доставке (синхронный / асинхронный), а в том, можно ли терять ивенты или нет.