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 NewEndpoint(string) (naming.Endpoint, 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, NewEndpoint, 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, NewEndpoint(string) (naming.Endpoint, 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
