Дизайн модуля Python xdrlib

Я недавно начал использовать модуль Python xdrlib. Я был удивлен, увидев, что Packer а также Unpacker классы, которые вам нужно создать, и содержит такой метод, как reset а также get_buffer, Звонки в Packer а также Unpacker Методы экземпляра накапливают данные в буфере до тех пор, пока вы их не используете. Стандартное использование, по-видимому, заключается в том, что вы создаете один экземпляр Packer и один экземпляр Unpacker для каждого клиента, но это не безопасно для потоков /

Я сказал, что был удивлен, потому что я ожидал иметь только функции для упаковки данных в байты, а затем писать такие вещи, как:

mybuffer += pack_int(3)

или имеющий класс Message (буфер с такими методами, как append_int) и удаление экземпляра сообщения после использования.

Нынешний дизайн, кажется, ставит постоянство в неправильном месте. Это действительно так или есть какая-то важная особенность, которую мне не хватает? Каково обоснование этого дизайна?

0 ответов

Другие вопросы по тегам