26 lines
391 B
Go
26 lines
391 B
Go
package session
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
)
|
|
|
|
type MemoryStore struct {
|
|
store sync.Map
|
|
}
|
|
|
|
func (s *MemoryStore) Load(ctx context.Context, sessionID string) Value {
|
|
val, ok := s.store.Load(sessionID)
|
|
if ok {
|
|
return val.(Value)
|
|
}
|
|
|
|
return Value{}
|
|
}
|
|
|
|
func (s *MemoryStore) Save(ctx context.Context, sessionID string, value Value) error {
|
|
s.store.Store(sessionID, value)
|
|
|
|
return nil
|
|
}
|