Re: systemd
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Mon, 16 Nov 2015 22:14:39 +0300:
>> Основная задача бинарного протокола, на мой взгляд, это представить
>> передаваемые данные в машиночитаемом виде. То есть, если какие то
>> данные должны быть поняты машиной в первую очередь, они должны быть
>> удобны для нее. Отладка это хорошо, и для нее есть (должны быть)
>> инструменты.
DEO> не понимаю чем RFC822 для машины менее читаем чем бинарный формат с
DEO> полями переменной длины.
Например, тем, что в варианте TLV ты можешь, встретив не интересующий
тебя или неизвестный тебе T, прочесть L и пропустить V довольно
эффективно. И тебе плевать, есть ли там ошибки кодирования.
Опять же, если в V (интересующем тебя) есть ошибки кодирования, ты во
всяком случае можешь перейти к следующему значению, ты знаешь, где оно
начинается. Оно, конечно, если есть ошибка в L или в кодировании T, это
становится проблемой, но L и T - это всегда простая система, ошибки в
ней куда менее вероятны - если они там есть, они очень быстро всплывут и
будут починены.
Недостатком, в свою очередь, является то, что T - это обычно число,
пресловутый суррогатный ключ, и для его интерпретации еще нужен
отдельный словарь. И добавление нового T либо весьма чревато клэшем,
либо требует централизованной службы поддержки оного словаря. С
осмысленными именами в этом месте все же спокойнее.
Reply to: