Documentation
¶
Index ¶
- type Config
- type MemoryEventLog
- func (l *MemoryEventLog) Append(_ context.Context, sessionID durable.SessionID, topic string, ...) error
- func (l *MemoryEventLog) CloseSession(_ context.Context, sessionID durable.SessionID) error
- func (l *MemoryEventLog) EndSubscribers(sessionID durable.SessionID)
- func (l *MemoryEventLog) Head(_ context.Context, sessionID durable.SessionID) (durable.Seq, error)
- func (l *MemoryEventLog) Subscribe(ctx context.Context, sessionID durable.SessionID, after durable.Seq) (<-chan tacklr.StreamEvent, error)
- type MemorySnapshot
- func (s *MemorySnapshot) Delete(_ context.Context, sessionID durable.SessionID) error
- func (s *MemorySnapshot) Load(_ context.Context, sessionID durable.SessionID) (durable.Snapshot, durable.Revision, error)
- func (s *MemorySnapshot) Save(_ context.Context, sessionID durable.SessionID, snap durable.Snapshot, ...) (durable.Revision, error)
- type Runtime
- func (r *Runtime) Cancel(ctx context.Context, sessionID durable.SessionID) error
- func (r *Runtime) Children(_ context.Context, parent durable.SessionID) ([]durable.SessionID, error)
- func (r *Runtime) Close(ctx context.Context, sessionID durable.SessionID) error
- func (r *Runtime) CreateSession(ctx context.Context, req durable.CreateSession) (durable.SessionID, error)
- func (r *Runtime) Head(ctx context.Context, sessionID durable.SessionID) (durable.Seq, error)
- func (r *Runtime) Prompt(ctx context.Context, sessionID durable.SessionID, msg durable.Prompt) error
- func (r *Runtime) Resume(ctx context.Context, sessionID durable.SessionID, resume durable.Resume) error
- func (r *Runtime) Status(_ context.Context, id durable.SessionID) (durable.SessionStatus, error)
- func (r *Runtime) Subscribe(ctx context.Context, sessionID durable.SessionID, after durable.Seq) (durable.Subscription, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v0.2.1
type Config struct {
Catalog durable.Catalog
Snapshots durable.SnapshotStore
Projection vfs.Projection
}
Config is the single in-process host config for New.
type MemoryEventLog ¶
type MemoryEventLog struct {
// contains filtered or unexported fields
}
MemoryEventLog is a channel EventLog with topics events/retry/close.
func NewMemoryEventLog ¶
func NewMemoryEventLog() *MemoryEventLog
NewMemoryEventLog returns an empty EventLog.
func (*MemoryEventLog) Append ¶
func (l *MemoryEventLog) Append(_ context.Context, sessionID durable.SessionID, topic string, ev tacklr.StreamEvent) error
Append implements durable.EventLog.
func (*MemoryEventLog) CloseSession ¶
CloseSession implements durable.EventLog. It drops the log so a later session can reuse the id and so closed history does not stay in process memory.
func (*MemoryEventLog) EndSubscribers ¶
func (l *MemoryEventLog) EndSubscribers(sessionID durable.SessionID)
EndSubscribers closes live subscribers without deleting the log (cancel).
func (*MemoryEventLog) Head ¶
Head implements durable.EventLog. Unknown sessions report seq 0 without allocating a log.
func (*MemoryEventLog) Subscribe ¶
func (l *MemoryEventLog) Subscribe(ctx context.Context, sessionID durable.SessionID, after durable.Seq) (<-chan tacklr.StreamEvent, error)
Subscribe implements durable.EventLog. It replays seq > after then tails. Replay is sent after unlocking so a large log cannot deadlock Append.
type MemorySnapshot ¶
type MemorySnapshot struct {
// contains filtered or unexported fields
}
MemorySnapshot is an in-memory SnapshotStore.
func NewMemorySnapshot ¶
func NewMemorySnapshot() *MemorySnapshot
NewMemorySnapshot returns an empty SnapshotStore.
func (*MemorySnapshot) Load ¶
func (s *MemorySnapshot) Load(_ context.Context, sessionID durable.SessionID) (durable.Snapshot, durable.Revision, error)
Load implements durable.SnapshotStore.
func (*MemorySnapshot) Save ¶
func (s *MemorySnapshot) Save(_ context.Context, sessionID durable.SessionID, snap durable.Snapshot, expected durable.Revision) (durable.Revision, error)
Save implements durable.SnapshotStore. expected must equal the revision from the last Load (zero if the row does not exist).
type Runtime ¶
type Runtime struct {
// contains filtered or unexported fields
}
Runtime is the in-process durable.Runtime: one goroutine per session.
func (*Runtime) Cancel ¶
Cancel implements durable.Runtime. It aborts the in-flight turn and stops child sessions. The parent session stays open for a later Prompt.
func (*Runtime) Children ¶
func (r *Runtime) Children(_ context.Context, parent durable.SessionID) ([]durable.SessionID, error)
Children implements durable.Runtime.
func (*Runtime) CreateSession ¶
func (r *Runtime) CreateSession(ctx context.Context, req durable.CreateSession) (durable.SessionID, error)
CreateSession implements durable.Runtime.
func (*Runtime) Prompt ¶
func (r *Runtime) Prompt(ctx context.Context, sessionID durable.SessionID, msg durable.Prompt) error
Prompt implements durable.Runtime.
func (*Runtime) Resume ¶
func (r *Runtime) Resume(ctx context.Context, sessionID durable.SessionID, resume durable.Resume) error
Resume implements durable.Runtime.