ZaStoGram/TMessagesProj/jni/mtproxy/MtProxyProbeLease.h
loop-uh 8a5c466c82 Refactor MTProxy recorder and emoji animation scheduler
Extract MTProxy endpoint recording logic into MtProxyEndpointRecorder and MtProxyProbeLease helper classes, and introduce EmojiPanelAnimationScheduler for controlled animation playback in emoji panels.

Key changes:
- Move endpoint failure/handshake/data-path recording from ConnectionSocket to MtProxyEndpointRecorder
- Replace probe lease management methods with MtProxyProbeLease member class
- Add EmojiPanelAnimationScheduler to manage GIF/sticker playback based on visibility and scroll state
- Add animation FPS limiting and invalidation delegate hooks to ImageReceiver
- Update Java proxy event handling to route connected/connect_start/usable_success through ProxyEventReducer
- Update verification tools to reflect new architecture
2026-07-02 21:01:55 +03:00

24 lines
490 B
C++

#ifndef MTPROXYPROBELEASE_H
#define MTPROXYPROBELEASE_H
#include "MtProxyProbeCoordinator.h"
#include <stdint.h>
#include <string>
class MtProxyProbeLease {
public:
bool active() const;
uint64_t ownerToken() const;
const std::string &key() const;
void acquire(const MtProxyProbeCoordinator::ProbeKey &probeKey, uint64_t token);
void release();
void touch(int64_t now);
private:
MtProxyProbeCoordinator::ProbeKey probeKey;
uint64_t token = 0;
};
#endif