session

package
v0.2.0-rc9 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package session provides session lifecycle tracking for a language server.

Index

Constants

View Source
const NotInitialized jrpc2.Code = -32002

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientCaller

type ClientCaller interface {
	Callback(ctx context.Context, method string, params interface{}) (*jrpc2.Response, error)
}

type ClientNotifier

type ClientNotifier interface {
	Notify(ctx context.Context, method string, params interface{}) error
}

type Factory

type Factory func(parentContext context.Context, serverVersion string) Session

type Lifecycle

type Lifecycle struct {
	// contains filtered or unexported fields
}

func NewLifecycle

func NewLifecycle(exitFunc context.CancelFunc) *Lifecycle

func (*Lifecycle) CheckInitializationIsConfirmed

func (s *Lifecycle) CheckInitializationIsConfirmed() error

func (*Lifecycle) ConfirmInitialization

func (s *Lifecycle) ConfirmInitialization(req *jrpc2.Request) error

func (*Lifecycle) Exit

func (s *Lifecycle) Exit() error

func (*Lifecycle) Initialize

func (s *Lifecycle) Initialize(req *jrpc2.Request) error

func (*Lifecycle) IsInitializedUnconfirmed

func (s *Lifecycle) IsInitializedUnconfirmed() bool

func (*Lifecycle) Prepare

func (s *Lifecycle) Prepare() error

func (*Lifecycle) Shutdown

func (s *Lifecycle) Shutdown(req *jrpc2.Request) error

type Server

type Server interface {
	ClientNotifier
	ClientCaller
}

type Session

type Session interface {
	Assigner() (jrpc2.Assigner, error)
	Finish(jrpc2.Assigner, jrpc2.ServerStatus)
}

Jump to

Keyboard shortcuts

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