mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-16 14:17:12 +02:00
Support only up to 2^31 local messages.
This commit is contained in:
parent
ca50ad3468
commit
eb7ef59bde
1 changed files with 12 additions and 1 deletions
|
@ -52,7 +52,8 @@ Q_DECLARE_METATYPE(MsgId);
|
|||
}
|
||||
|
||||
constexpr auto StartClientMsgId = MsgId(0x01 - (1LL << 58));
|
||||
constexpr auto EndClientMsgId = MsgId(-(1LL << 57));
|
||||
constexpr auto ClientMsgIds = (1LL << 31);
|
||||
constexpr auto EndClientMsgId = MsgId(StartClientMsgId.bare + ClientMsgIds);
|
||||
constexpr auto ServerMaxMsgId = MsgId(1LL << 56);
|
||||
constexpr auto ScheduledMsgIdsRange = (1LL << 32);
|
||||
constexpr auto ShowAtUnreadMsgId = MsgId(0);
|
||||
|
@ -69,6 +70,16 @@ static_assert(-(SpecialMsgIdShift + 0xFF) > ServerMaxMsgId);
|
|||
[[nodiscard]] constexpr inline bool IsClientMsgId(MsgId id) noexcept {
|
||||
return (id >= StartClientMsgId && id < EndClientMsgId);
|
||||
}
|
||||
[[nodiscard]] constexpr inline int32 ClientMsgIndex(MsgId id) noexcept {
|
||||
Expects(IsClientMsgId(id));
|
||||
|
||||
return int(id.bare - StartClientMsgId.bare);
|
||||
}
|
||||
[[nodiscard]] constexpr inline MsgId ClientMsgByIndex(int32 index) noexcept {
|
||||
Expects(index >= 0);
|
||||
|
||||
return MsgId(StartClientMsgId.bare + index);
|
||||
}
|
||||
|
||||
[[nodiscard]] constexpr inline bool IsServerMsgId(MsgId id) noexcept {
|
||||
return (id > 0 && id < ServerMaxMsgId);
|
||||
|
|
Loading…
Add table
Reference in a new issue