sessioncourier

package
v0.67.24 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2026 License: MIT Imports: 16 Imported by: 0

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

type Deliverer interface {
	Deliver(context.Context, []byte) (sessionreceive.Result, error)
}

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 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)

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL