Documentation
¶
Index ¶
- type Manager
- func (m *Manager) Delete(ctx context.Context, sessionID string) error
- func (m *Manager) List(ctx context.Context) ([]string, error)
- func (m *Manager) Load(ctx context.Context, sessionID string) (*domain.State, error)
- func (m *Manager) LoadOrStart(ctx context.Context, sessionID string, startNode string) (*domain.State, error)
- func (m *Manager) Save(ctx context.Context, sessionID string, state *domain.State) error
- func (m *Manager) WithLock(ctx context.Context, sessionID string, fn func(context.Context) error) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager orchestrates session access, ensuring safe concurrent operations. It uses Reference Counting to garbage collect unused locks.
func NewManager ¶
func NewManager(store ports.StateStore) *Manager
NewManager creates a new Session Manager with the given persistence store.
func (*Manager) LoadOrStart ¶
func (m *Manager) LoadOrStart(ctx context.Context, sessionID string, startNode string) (*domain.State, error)
LoadOrStart tries to load a session. If not found, it initializes a new one.
Click to show internal directories.
Click to hide internal directories.