Submitted by vm on Thu, 07/13/2017 - 12:27
Утилита re2c ( http://re2c.org/ ) транслирует регулярные выражения в код на языке С. В некоторых случаях таким способом можно добиться существенного прироста производительности обработки строк по сравнению с традиционными подходами.
Пример использования re2c для одновременного поиска нескольких подстрок. Подстроки ищутся не в zero-terminated строке, а в блоке произвольных байт. Блок задается адресом начала и длиной:
Submitted by vm on Tue, 06/27/2017 - 18:45
Для имитации установления TCP-соединения (3-х этапного рукопожатия) можно воспользоваться простым алгоритмом.
На пакет от клиента с выставленным SYN-битом с сервера отправляется тот же пакет с выставленными SYN и ACK-битами. Ждем от клиента подтверждения с битом ACK и все, можно считать что с точки зрения клиента соединение установлено. Такой трюк можно использовать при zero-copy обработке сетевого трафика. Псевдокодом это может быть описано так: