MCPcopy Create free account
hub / github.com/astercloud/aster / List

Method List

pkg/session/inmemory.go:99–126  ·  view source on GitHub ↗

List 列出会话

(ctx context.Context, req *ListRequest)

Source from the content-addressed store, hash-verified

97
98// List 列出会话
99func (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 添加事件
129func (s *InMemoryService) AppendEvent(ctx context.Context, sessionID string, event *Event) error {

Callers 1

TestInMemoryService_ListFunction · 0.95

Calls

no outgoing calls

Tested by 1

TestInMemoryService_ListFunction · 0.76