сопоставление с++ типов с byte-массивами
От: niXman Ниоткуда https://github.com/niXman
Дата: 01.03.16 16:20
Оценка:
привет!

название чудное получилось...

дано: некоторый составной тип, который сериализуется в byte-массив. каждый такой byte-массив кладется в очередь для последующей отправки.
проблема: допустим, в очередь положили несколько типов состоящих из двух int32. очередь не успела отправить все получившиеся byte-массивы, а мы добавляет в составной тип еще один int32. и тут начинается веселье, ибо в очереди оказываются два разных типа, которые требуют разной обработки на стороне получателя.

вопрос в том, как идентифицировать эти byte-массивы, точнее то, из чего они получаются?

составные типы могут содержать не только фундаментальные типы.

интерфейс к очереди у меня такой:
struct queue {
   void push(yas::shared_buffer buf); // https://github.com/niXman/yas/blob/master/include/yas/buffers.hpp#L67
   void pop();
   bool empty() const;
   yas::shared_buffer front();
};

т.е. queue ничего не знает о типах.

идей у меня две, и обе незаконченные:
1. сделать queue шаблонным, и далее как-то использовать параметр
2. в сериализуемый тип добавить метаинформацию

выскажитесь, пожалуйста, по сабжу.

спасибо!
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.