Implement GroupCallManager::on_receive_group_call_version.
This commit is contained in:
parent
7398de2790
commit
ab73589165
@ -770,6 +770,9 @@ void GroupCallManager::process_pending_group_call_participants_updates(InputGrou
|
|||||||
auto &pending_updates = participants_it->second->pending_updates_;
|
auto &pending_updates = participants_it->second->pending_updates_;
|
||||||
auto group_call = get_group_call(input_group_call_id);
|
auto group_call = get_group_call(input_group_call_id);
|
||||||
CHECK(group_call != nullptr && group_call->is_inited);
|
CHECK(group_call != nullptr && group_call->is_inited);
|
||||||
|
if (group_call->version == -1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
int32 diff = 0;
|
int32 diff = 0;
|
||||||
while (!pending_updates.empty()) {
|
while (!pending_updates.empty()) {
|
||||||
@ -1461,7 +1464,26 @@ InputGroupCallId GroupCallManager::update_group_call(const tl_object_ptr<telegra
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GroupCallManager::on_receive_group_call_version(InputGroupCallId input_group_call_id, int32 version) {
|
void GroupCallManager::on_receive_group_call_version(InputGroupCallId input_group_call_id, int32 version) {
|
||||||
// TODO
|
if (!need_group_call_participants(input_group_call_id)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto *group_call = get_group_call(input_group_call_id);
|
||||||
|
CHECK(group_call != nullptr && group_call->is_inited);
|
||||||
|
if (group_call->version == -1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (version <= group_call->version) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// found a gap
|
||||||
|
auto &group_call_participants = group_call_participants_[input_group_call_id];
|
||||||
|
if (group_call_participants == nullptr) {
|
||||||
|
group_call_participants = make_unique<GroupCallParticipants>();
|
||||||
|
}
|
||||||
|
group_call_participants->pending_updates_[version]; // reserve place for updates
|
||||||
|
sync_participants_timeout_.add_timeout_in(group_call->group_call_id.get(), 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GroupCallManager::on_user_speaking_in_group_call(GroupCallId group_call_id, UserId user_id, int32 date,
|
void GroupCallManager::on_user_speaking_in_group_call(GroupCallId group_call_id, UserId user_id, int32 date,
|
||||||
|
Loading…
Reference in New Issue
Block a user