Get 根据 conversationID 获取缓存的 ChatClientState。 不存在时返回 nil;调用方拿到 conversationID 后再调用 Register 注册新状态。
(conversationID string)
| 34 | // Get 根据 conversationID 获取缓存的 ChatClientState。 |
| 35 | // 不存在时返回 nil;调用方拿到 conversationID 后再调用 Register 注册新状态。 |
| 36 | func (sm *SessionManager) Get(conversationID string) *chatgpt.ChatClientState { |
| 37 | if conversationID == "" { |
| 38 | return nil |
| 39 | } |
| 40 | sm.mu.RLock() |
| 41 | entry, ok := sm.sessions[conversationID] |
| 42 | sm.mu.RUnlock() |
| 43 | if !ok { |
| 44 | return nil |
| 45 | } |
| 46 | sm.mu.Lock() |
| 47 | entry.lastUsed = time.Now() |
| 48 | sm.mu.Unlock() |
| 49 | return entry.state |
| 50 | } |
| 51 | |
| 52 | // Register 将 ChatClientState 注册到 conversationID 下。 |
| 53 | func (sm *SessionManager) Register(conversationID string, state *chatgpt.ChatClientState) { |
no outgoing calls
no test coverage detected