pkg v23, const ForceStopExitCode ideal-int
pkg v23, const LocalStop ideal-string
pkg v23, const RemoteStop ideal-string
pkg v23, const UnhandledStopExitCode ideal-int
pkg v23, func GetAppCycle(*context.T) AppCycle
pkg v23, func GetBackgroundContext(*context.T) *context.T
pkg v23, func GetClient(*context.T) rpc.Client
pkg v23, func GetListenSpec(*context.T) rpc.ListenSpec
pkg v23, func GetNamespace(*context.T) namespace.T
pkg v23, func GetPrincipal(*context.T) security.Principal
pkg v23, func GetReservedNameDispatcher(*context.T) rpc.Dispatcher
pkg v23, func Init() (*context.T, Shutdown)
pkg v23, func NewDiscovery(*context.T) (discovery.T, error)
pkg v23, func NewFlowManager(*context.T, time.Duration) (flow.Manager, error)
pkg v23, func RegisterRuntimeFactory(RuntimeFactory)
pkg v23, func TryInit() (*context.T, Shutdown, error)
pkg v23, func WithBackgroundContext(*context.T) *context.T
pkg v23, func WithListenSpec(*context.T, rpc.ListenSpec) *context.T
pkg v23, func WithNewClient(*context.T, ...rpc.ClientOpt) (*context.T, rpc.Client, error)
pkg v23, func WithNewDispatchingServer(*context.T, string, rpc.Dispatcher, ...rpc.ServerOpt) (*context.T, rpc.Server, error)
pkg v23, func WithNewNamespace(*context.T, ...string) (*context.T, namespace.T, error)
pkg v23, func WithNewServer(*context.T, string, interface{}, security.Authorizer, ...rpc.ServerOpt) (*context.T, rpc.Server, error)
pkg v23, func WithPrincipal(*context.T, security.Principal) (*context.T, error)
pkg v23, func WithReservedNameDispatcher(*context.T, rpc.Dispatcher) *context.T
pkg v23, type AppCycle interface { AdvanceGoal, AdvanceProgress, ForceStop, Remote, Stop, TrackTask, WaitForStop }
pkg v23, type AppCycle interface, AdvanceGoal(int32)
pkg v23, type AppCycle interface, AdvanceProgress(int32)
pkg v23, type AppCycle interface, ForceStop(*context.T)
pkg v23, type AppCycle interface, Remote() interface{}
pkg v23, type AppCycle interface, Stop(*context.T)
pkg v23, type AppCycle interface, TrackTask(chan<- Task)
pkg v23, type AppCycle interface, WaitForStop(*context.T, chan<- string)
pkg v23, type Runtime interface { GetAppCycle, GetBackgroundContext, GetClient, GetListenSpec, GetNamespace, GetPrincipal, GetReservedNameDispatcher, Init, NewDiscovery, NewFlowManager, WithBackgroundContext, WithListenSpec, WithNewClient, WithNewDispatchingServer, WithNewNamespace, WithNewServer, WithPrincipal, WithReservedNameDispatcher }
pkg v23, type Runtime interface, GetAppCycle(*context.T) AppCycle
pkg v23, type Runtime interface, GetBackgroundContext(*context.T) *context.T
pkg v23, type Runtime interface, GetClient(*context.T) rpc.Client
pkg v23, type Runtime interface, GetListenSpec(*context.T) rpc.ListenSpec
pkg v23, type Runtime interface, GetNamespace(*context.T) namespace.T
pkg v23, type Runtime interface, GetPrincipal(*context.T) security.Principal
pkg v23, type Runtime interface, GetReservedNameDispatcher(*context.T) rpc.Dispatcher
pkg v23, type Runtime interface, Init(*context.T) error
pkg v23, type Runtime interface, NewDiscovery(*context.T) (discovery.T, error)
pkg v23, type Runtime interface, NewFlowManager(*context.T, time.Duration) (flow.Manager, error)
pkg v23, type Runtime interface, WithBackgroundContext(*context.T) *context.T
pkg v23, type Runtime interface, WithListenSpec(*context.T, rpc.ListenSpec) *context.T
pkg v23, type Runtime interface, WithNewClient(*context.T, ...rpc.ClientOpt) (*context.T, rpc.Client, error)
pkg v23, type Runtime interface, WithNewDispatchingServer(*context.T, string, rpc.Dispatcher, ...rpc.ServerOpt) (*context.T, rpc.Server, error)
pkg v23, type Runtime interface, WithNewNamespace(*context.T, ...string) (*context.T, namespace.T, error)
pkg v23, type Runtime interface, WithNewServer(*context.T, string, interface{}, security.Authorizer, ...rpc.ServerOpt) (*context.T, rpc.Server, error)
pkg v23, type Runtime interface, WithPrincipal(*context.T, security.Principal) (*context.T, error)
pkg v23, type Runtime interface, WithReservedNameDispatcher(*context.T, rpc.Dispatcher) *context.T
pkg v23, type RuntimeFactory func(ctx *context.T) (Runtime, *context.T, Shutdown, error)
pkg v23, type Shutdown func()
pkg v23, type Task struct
pkg v23, type Task struct, Goal int32
pkg v23, type Task struct, Progress int32
