Я пишу код для декодирования сообщений из двоичного протокола. Каждому типу сообщения назначается 1-байтовый идентификатор типа, и каждое сообщение несет этот идентификатор типа. Все сообщения начинаются с общего заголовка, состоящего из 5 полей. Мой API прост: Могу ли я декодировать полное сообщение несколько раз с помощью этой структуры? Это идиоматично? Не лучше ли мне просто декодировать поле типа сообщения в заголовке функции, а затем полностью декодировать сообщение в теле сообщения?