List 列出会话
(ctx context.Context, req *ListRequest)
| 97 | |
| 98 | // List 列出会话 |
| 99 | func (s *InMemoryService) List(ctx context.Context, req *ListRequest) ([]*Session, error) { |
| 100 | s.mu.RLock() |
| 101 | defer s.mu.RUnlock() |
| 102 | |
| 103 | var results []*Session |
| 104 | count := 0 |
| 105 | |
| 106 | for _, session := range s.sessions { |
| 107 | if session.appName != req.AppName || session.userID != req.UserID { |
| 108 | continue |
| 109 | } |
| 110 | |
| 111 | if count < req.Offset { |
| 112 | count++ |
| 113 | continue |
| 114 | } |
| 115 | |
| 116 | if req.Limit > 0 && len(results) >= req.Limit { |
| 117 | break |
| 118 | } |
| 119 | |
| 120 | var s Session = session |
| 121 | results = append(results, &s) |
| 122 | count++ |
| 123 | } |
| 124 | |
| 125 | return results, nil |
| 126 | } |
| 127 | |
| 128 | // AppendEvent 添加事件 |
| 129 | func (s *InMemoryService) AppendEvent(ctx context.Context, sessionID string, event *Event) error { |
no outgoing calls