Как писать wrapper'ы под API
Я хочу написать Telegram клиент, используя TDLib. Насколько я понимаю, wrapper - это обертка над чем-либо, в данном случаем над TDLib. Мой класс будет иметь методы send
и receive
(использование callback'ов в send
избегается, будут использоваться std::future
/std::promise
), и созревает вопрос - а как спроектировать для них интерфейс? Хочется иметь возможность вызывать receive
одновременно с нескольких потоков, но как это тоже реализовать? Указывать ID запроса в send
и получаемый в receive
? Есть ли вообще какая-нибудь литература по проектированию таких классов? Не обязательно даже для C++.