Documentation
¶
Overview ¶
Package sessioncourier delivers WB-owned session handoff protocol values. A courier transports exact request bytes and validates the target response; it does not own handoff state or source custody.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeliverSSH ¶
func DeliverSSH(ctx context.Context, config sessionmove.SSHConfig, raw []byte) (sessionreceive.Result, error)
DeliverSSH is the simple production entry point for one SSH delivery.
Types ¶
type Deliverer ¶
Deliverer is the fixed transport boundary shared by SSH and future courier adapters. Implementations must preserve request bytes exactly.
func NewSSHDeliverer ¶
func NewSSHDeliverer(config sessionmove.SSHConfig) (Deliverer, error)
NewSSHDeliverer validates the remote address and resolves the local SSH executable. Callers can therefore construct the adapter before creating a source checkpoint, leaving mutation until all fixed delivery inputs exist.
func NewSynchestraDeliverer ¶
func NewSynchestraDeliverer(config sessionmove.SynchestraConfig, options SynchestraOptions) (Deliverer, error)
NewSynchestraDeliverer resolves the trusted local CLI and constructs the typed fixed-handler adapter. It never falls back to SSH.
type LoopbackDeliverer ¶ added in v0.132.0
type LoopbackDeliverer struct {
LocalMachine string
ProjectsRoot string
Store sessionmove.Store
Receive func(context.Context, sessionreceive.Options) (sessionreceive.Result, error)
}
LoopbackDeliverer runs session receive in-process for a successor on this machine. It never shells out to SSH.
func (LoopbackDeliverer) Deliver ¶ added in v0.132.0
func (d LoopbackDeliverer) Deliver(ctx context.Context, raw []byte) (sessionreceive.Result, error)
type MessageDeliverer ¶
type MessageDeliverer interface {
DeliverMessage(context.Context, []byte) (sessionmove.MessageReceipt, error)
}
MessageDeliverer is the courier-neutral fixed typed-message boundary.
func NewSSHMessageDeliverer ¶
func NewSSHMessageDeliverer(config sessionmove.SSHConfig) (MessageDeliverer, error)
func NewSynchestraMessageDeliverer ¶
func NewSynchestraMessageDeliverer(config sessionmove.SynchestraConfig, options MessageSynchestraOptions) (MessageDeliverer, error)
type MessageSynchestraOptions ¶
type MessageSynchestraOptions struct {
RequestDigest sessionmove.Digest
Dispatch *sessionmove.MessageSynchestraDispatch
SaveDispatch func(sessionmove.MessageSynchestraDispatch) error
}
type SynchestraOptions ¶
type SynchestraOptions struct {
Dispatch *sessionmove.SynchestraDispatch
SaveDispatch func(sessionmove.SynchestraDispatch) error
}
SynchestraOptions binds the adapter to a previously accepted dispatch and durably records a newly accepted one before the first status poll.