package executor import ( "sync" "time" ) type codexCache struct { ID string Expire time.Time } var ( codexCacheMap = map[string]codexCache{} codexCacheMutex sync.RWMutex ) // getCodexCache safely retrieves a cache entry func getCodexCache(key string) (codexCache, bool) { codexCacheMutex.RLock() defer codexCacheMutex.RUnlock() cache, ok := codexCacheMap[key] return cache, ok } // setCodexCache safely sets a cache entry func setCodexCache(key string, cache codexCache) { codexCacheMutex.Lock() defer codexCacheMutex.Unlock() codexCacheMap[key] = cache } // deleteCodexCache safely deletes a cache entry func deleteCodexCache(key string) { codexCacheMutex.Lock() defer codexCacheMutex.Unlock() delete(codexCacheMap, key) }