MCPcopy Create free account
hub / github.com/TDesktop-x64/tdesktop / processMessages

Method processMessages

Telegram/SourceFiles/data/data_session.cpp:2805–2828  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2803}
2804
2805void Session::processMessages(
2806 const QVector<MTPMessage> &data,
2807 NewMessageType type) {
2808 auto indices = base::flat_map<uint64, int>();
2809 for (int i = 0, l = data.size(); i != l; ++i) {
2810 const auto &message = data[i];
2811 if (message.type() == mtpc_message) {
2812 const auto &data = message.c_message();
2813 // new message, index my forwarded messages to links overview
2814 if ((type == NewMessageType::Unread)
2815 && updateExistingMessage(data)) {
2816 continue;
2817 }
2818 }
2819 const auto id = IdFromMessage(message); // Only 32 bit values here.
2820 indices.emplace((uint64(uint32(id.bare)) << 32) | uint64(i), i);
2821 }
2822 for (const auto &[position, index] : indices) {
2823 addNewMessage(
2824 data[index],
2825 MessageFlags(),
2826 type);
2827 }
2828}
2829
2830void Session::processMessages(
2831 const MTPVector<MTPMessage> &data,

Callers 8

showRepliesForMessageMethod · 0.80
applyReceivedTopicsMethod · 0.80
applyReceivedSublistsMethod · 0.80
applyPeerDialogsMethod · 0.80
performMonthRequestMethod · 0.80
feedChannelDifferenceMethod · 0.80
feedDifferenceMethod · 0.80

Calls 4

IdFromMessageFunction · 0.85
emplaceMethod · 0.80
sizeMethod · 0.45
typeMethod · 0.45

Tested by

no test coverage detected