#pragma once #include "shm_helper.h" class ShmWorker { public: ShmWorker(); ~ShmWorker(); bool register_worker(int32_t tgid, uint64_t *out_shareable_handle, uint64_t *out_vmem_size); bool lock_gpu(); void unlock_gpu(); private: int32_t tgid; ShmHelper *shm_helper; std::thread heart_beat_thread; std::atomic stop_heart_beat; // request uint64_t make_request(uint32_t type, uint64_t parameter); int register_worker_shm(); // heart beat void heart_beat_loop(int slot); };