mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Added ability to cache currency balance by peer.
This commit is contained in:
parent
08fda055fc
commit
b23a877d7e
2 changed files with 13 additions and 0 deletions
|
@ -74,6 +74,11 @@ uint64 Credits::balance(PeerId peerId) const {
|
||||||
return (it != _cachedPeerBalances.end()) ? it->second : 0;
|
return (it != _cachedPeerBalances.end()) ? it->second : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64 Credits::balanceCurrency(PeerId peerId) const {
|
||||||
|
const auto it = _cachedPeerCurrencyBalances.find(peerId);
|
||||||
|
return (it != _cachedPeerCurrencyBalances.end()) ? it->second : 0;
|
||||||
|
}
|
||||||
|
|
||||||
rpl::producer<uint64> Credits::balanceValue() const {
|
rpl::producer<uint64> Credits::balanceValue() const {
|
||||||
return _nonLockedBalance.value();
|
return _nonLockedBalance.value();
|
||||||
}
|
}
|
||||||
|
@ -128,4 +133,8 @@ void Credits::apply(PeerId peerId, uint64 balance) {
|
||||||
_cachedPeerBalances[peerId] = balance;
|
_cachedPeerBalances[peerId] = balance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Credits::applyCurrency(PeerId peerId, uint64 balance) {
|
||||||
|
_cachedPeerCurrencyBalances[peerId] = balance;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Data
|
} // namespace Data
|
||||||
|
|
|
@ -35,6 +35,9 @@ public:
|
||||||
[[nodiscard]] rpl::producer<float64> rateValue(
|
[[nodiscard]] rpl::producer<float64> rateValue(
|
||||||
not_null<PeerData*> ownedBotOrChannel);
|
not_null<PeerData*> ownedBotOrChannel);
|
||||||
|
|
||||||
|
void applyCurrency(PeerId peerId, uint64 balance);
|
||||||
|
[[nodiscard]] uint64 balanceCurrency(PeerId peerId) const;
|
||||||
|
|
||||||
void lock(int count);
|
void lock(int count);
|
||||||
void unlock(int count);
|
void unlock(int count);
|
||||||
void withdrawLocked(int count);
|
void withdrawLocked(int count);
|
||||||
|
@ -50,6 +53,7 @@ private:
|
||||||
std::unique_ptr<Api::CreditsStatus> _loader;
|
std::unique_ptr<Api::CreditsStatus> _loader;
|
||||||
|
|
||||||
base::flat_map<PeerId, uint64> _cachedPeerBalances;
|
base::flat_map<PeerId, uint64> _cachedPeerBalances;
|
||||||
|
base::flat_map<PeerId, uint64> _cachedPeerCurrencyBalances;
|
||||||
|
|
||||||
uint64 _balance = 0;
|
uint64 _balance = 0;
|
||||||
uint64 _locked = 0;
|
uint64 _locked = 0;
|
||||||
|
|
Loading…
Add table
Reference in a new issue