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
24 lines
490 B
C++
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
|