plugin

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2026 License: MPL-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package plugin defines the shared go-plugin transport for Runtime Protocol v1.

Index

Constants

View Source
const (
	// Name is the logical registry key shared by every runtime implementation.
	Name = "devsy-runtime"
	// ProtocolVersion selects the breaking go-plugin application generation.
	ProtocolVersion = 1
)

Variables

This section is empty.

Functions

func ClientPlugins

func ClientPlugins() map[string]hplugin.Plugin

ClientPlugins returns a new registry for gRPC-only clients. The host owns process launch, trusted executable resolution, cancellation, and Kill/reap.

func Handshake

func Handshake() hplugin.HandshakeConfig

Handshake returns a fresh configuration; the cookie is an identity check, not authentication or a security boundary.

Types

type Runtime

type Runtime struct {
	hplugin.NetRPCUnsupportedPlugin
	Implementation runtimev1.RuntimeDriverServer
}

Runtime bridges one RuntimeDriver implementation to the gRPC-only plugin ABI. Server processes set Implementation; client registries leave it unset.

func (*Runtime) GRPCClient

func (*Runtime) GRPCClient(
	_ context.Context,
	_ *hplugin.GRPCBroker,
	conn *grpc.ClientConn,
) (any, error)

GRPCClient binds the generated client to the connection owned by go-plugin.

func (*Runtime) GRPCServer

func (p *Runtime) GRPCServer(_ *hplugin.GRPCBroker, s *grpc.Server) error

GRPCServer is called once by go-plugin; the serving executable must supply Implementation before registration.

Jump to

Keyboard shortcuts

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