Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Переименовать тип данных State #5

Open
olgaklimenko opened this issue Jun 24, 2020 · 1 comment
Open

Переименовать тип данных State #5

olgaklimenko opened this issue Jun 24, 2020 · 1 comment

Comments

@olgaklimenko
Copy link

Лучше не использовать такие названия, потому что они могут запутать. Например на какое-то время можно зависнуть , встретив где-то в коде и подумав что это State монада. Плюс недостаточно инфы, например чей стэйт или для чего стэйт. Ну и в итоге не понятно что именно описывают рекорды:

image

например currentExtra что такое и зачем? И кстати, много где встречается название extra, может его как-то можно переименовать, чтобы было понятней, что это такое:)

@mejgun
Copy link
Owner

mejgun commented Jul 6, 2020

понял. переделаю

что такое extra

поскольку tdlib работает асинхронно, с помощью extra он позволяет отлавливать ответы на свои запросы. то есть к запросу, на который надо узнать ответ, надо прицепить extra (по-моему любого типа), и ловить ответ с таким extra.

отправка сообщения в чат выглядит примерно так:
создаем сообщение, прикрепляем extra (у меня это unix time сообщения с микросекундами), отправляем -> ловим ответ о созданном сообщении с таким extra -> запоминаем временный id сообщения -> ловим каждый ответ об изменении статуса отправки сообщения -> если он совпадает с нашим временным id, то записываем настоящий id сообщения
(это если в дальнейшем предполагается проводить с этим сообщением какие-то манипуляции)

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants