В настоящее время у меня есть примитивная настройка RP C, основанная на JSON, передаваемой через защищенные сокеты, но я бы хотел перейти на gRP C. К сожалению, мне также нужен доступ к AF_ UNIX на windows (который Microsoft недавно начала поддерживать, но gRP C не реализована).
Поскольку у меня уже есть работающее соединение (управляемое другой библиотекой), я бы предпочел просто использовать его вместе с GRP C для отправки / получения команд вместо моего JSON анализа, но я изо всех сил пытаюсь определить лучший способ сделать это.
Я видел Подключение пользовательского транспорта в gRP C, но этот вопрос отличается в следующих отношениях (Как и моя надежда для более свежего ответа)
- Я хочу избежать внесения изменений в ядро gRP C. Я бы предпочел расширить его, если это возможно, из моей библиотеки, но ответ здесь подразумевает добавление нового транспорта в gRP C. Если мне нужно было сделать это на транспортном уровне, есть ли механизм, чтобы зарегистрировать его в gRP C после того, как ядро было построено?
- Я не уверен, нужно ли мне определять это как полный пользовательский транспорт, так как у меня уже установлено и готово существующее соединение. Я видел некоторые вещи, которые подразумевают, что я мог бы просто расширить Канал, но я могу ошибаться.
- Мне нужно иметь возможность поддерживать Windows или, по крайней мере, его современные версии (что означает, что опции from_fd, предоставляемые gRP C, недоступны, поскольку в настоящее время они реализованы только для POSIX)
Кто-нибудь решал подобные проблемы с gRP C?