170 похожих чатов

Конишуа всем! Скажите пожалуйста, а кто-нибудь здесь сталкивался с генерацией

PHP кода по protobuf файлу для работы с gRPC?

11 ответов

15 просмотров

сталкивался

Timur-Ahmedov Автор вопроса
Igor Borisov
сталкивался

Не мог, бы, пожалуйста, уточнить, как именно генерил клиента? Я скормил protobuf-файл тулзе protoc (https://github.com/protocolbuffers/protobuf) - как будто все сгенерилось, но в классе GPBMetadata вызывается $pool->internalAddGeneratedFile() в качестве аргумента передается какая-то странная строка, больше похожая на бинарник. Смотрю примеры в инете - у всех там передается 16-ричная строка, обернутая в hex2bin (https://github.com/protocolbuffers/protobuf-php/blob/master/src/GPBMetadata/Google/Protobuf/Any.php). Вот я что-то не пойму, я как-то неправильно код сгенерил? У меня дальше при его вызове все падает с ошибкой Error occurred during parsing: Fail to push limit. - подозреваю, что из-за этого

Timur Ahmedov
Не мог, бы, пожалуйста, уточнить, как именно генер...

не совсем понял, у тебя не работает клиент ? моешь прислать пример как ты используешь клиент ?

Timur Ahmedov
Не мог, бы, пожалуйста, уточнить, как именно генер...

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

Timur-Ahmedov Автор вопроса
Igor Borisov
не совсем понял, у тебя не работает клиент ? моешь...

В сервисе есть метод getUserDataByID(). У меня появились классы getUserDataByIDRequest и getUserDataByIDResponse. Я вызываю getUserDataByIDResponse->getData() и получаю Error occurred during parsing: Fail to push limit. Хотя, есть у меня подозрение, что я не так его вызываю

Timur Ahmedov
В сервисе есть метод getUserDataByID(). У меня поя...

у меня это выглядит примерно так list($response, $status) = $service->getUserDataByID()->wait() то есть я создаю сначало клиента, потом вызываю у него метод что такое getUserDataByIDRequest и getUserDataByIDResponse я не совсем понял

Timur Ahmedov
В сервисе есть метод getUserDataByID(). У меня поя...

если $status === 0 то $response это заполненый класс, достаточно вызывать те же свойства которые ты прописал в прото файле что бы получить значение

Timur-Ahmedov Автор вопроса
Igor Borisov
То есть гетеры не свойства)

Вроде нащупал проблему. У меня клиент в принципе не сгенерился, и я не тот класс дергаю. Вот тут об этом сказано: https://github.com/grpc/grpc/issues/22108 - дока с примером PHP устарела. Рекомендуют откатить protoc на более старую версию или использовать bazel

Timur-Ahmedov Автор вопроса
Igor Borisov
у меня это выглядит примерно так list($response, ...

Точно, все получилось нормально сделать, откатившись на старую версию protoc, как указанно в ссылке. С ней все методы сгенерировались, как надо. Спасибо большое за помощь :)

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта