Используя tc, я хочу, чтобы TCP и UDP использовали один и тот же буфер

Это изменение, по-видимому, связано с изменениями версии python3 html2text, пакета, используемого rss2email. В этом usage для этого пакета говорится о параметре командной строки --reference-links, делающем то, что вы хотите: "Используйте ссылочные ссылки вместо встроенных ссылок для создания markdown". Просматривая его код python, это становится опцией внутренней конфигурации INLINE_LINKS, которую вам нужно будет установить из rss2email.

Глядя на код python в каталоге rss2email/config.py (где-то в вашем каталоге /usr/lib/python*/site-packages/ или simlar), вы можете увидеть, что процедура setup_html2text() используется для настройки html2text:

class Config (_configparser.ConfigParser):
    ...
    def setup_html2text(self, section='DEFAULT'):
        """Setup html2text globals to match our configuration
        """
        ...
        _html2text.BODY_WIDTH = self.getint(section, 'body-width')

Это было бы местом для добавления некоторой переопределяющей дополнительной конфигурации. Тем не менее, я обнаружил, что либо я не понял этот код, либо есть ошибка, так как _html2text. BODY_WIDTH не используется, но есть _html2text.config.BODY_WIDTH, который кажется более правильным.

Отредактировав этот файл и добавив в эту процедуру следующие строки (отступ с пробелами, а не табуляциями):

        _html2text.config.INLINE_LINKS = False
        _html2text.config.USE_AUTOMATIC_LINKS = False
        _html2text.config.LINKS_EACH_PARAGRAPH = True

Я получил почтовый вывод, аналогичный выводу более ранних версий rss2email.

1
08.01.2017, 20:55
1 ответ

Вы не можете совместно использовать буфер между двумя qdiscs в tc.
Хотя, поскольку ваша полоса пропускания статична, имеет смысл жестко закодировать пакет split: 12 и 88.

tc qdisc add dev $dev parent 1:11 handle 9: netem delay $sdelay limit $qlen_udp
tc qdisc add dev $dev parent 1:12 handle 10: netem delay $sdelay limit $qlen_tcp

Если ваши UDP-пакеты маленькие, вы можете изменить значение от 12 до 20-30, чтобы сохранить возможность буферизации и поддерживать низкую задержку (до действия netem).

Почему вы пишете эту функцию с совместным использованием как netem, так и буфера? Что вы пытаетесь показать?

0
28.01.2020, 01:04

Теги

Похожие вопросы