Help us shape the future of Go! Take the 2026 Go Developer Survey

internal

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Endpoint

type Endpoint struct {
	// Maximum supported protocol version
	MaxProtocolVersion int `json:"maxProtocolVersion" yaml:"maxProtocolVersion" mapstructure:"maxProtocolVersion"`

	// Minimum supported protocol version
	MinProtocolVersion int `json:"minProtocolVersion" yaml:"minProtocolVersion" mapstructure:"minProtocolVersion"`

	// ProtocolMode corresponds to the JSON schema field "protocolMode".
	ProtocolMode ProtocolMode `json:"protocolMode,omitempty" yaml:"protocolMode,omitempty" mapstructure:"protocolMode,omitempty"`

	// Services corresponds to the JSON schema field "services".
	Services []Service `json:"services" yaml:"services" mapstructure:"services"`
}

Endpoint manifest v3

type Handler

type Handler struct {
	// Abort timeout duration, expressed in milliseconds.
	AbortTimeout *int `json:"abortTimeout,omitempty" yaml:"abortTimeout,omitempty" mapstructure:"abortTimeout,omitempty"`

	// Documentation for this handler definition. No format is enforced, but generally
	// Markdown is assumed.
	Documentation *string `json:"documentation,omitempty" yaml:"documentation,omitempty" mapstructure:"documentation,omitempty"`

	// If true, lazy state is enabled.
	EnableLazyState *bool `json:"enableLazyState,omitempty" yaml:"enableLazyState,omitempty" mapstructure:"enableLazyState,omitempty"`

	// Idempotency retention duration, expressed in milliseconds. This is NOT VALID
	// when HandlerType == WORKFLOW
	IdempotencyRetention *int `json:"idempotencyRetention,omitempty" yaml:"idempotencyRetention,omitempty" mapstructure:"idempotencyRetention,omitempty"`

	// Inactivity timeout duration, expressed in milliseconds.
	InactivityTimeout *int `json:"inactivityTimeout,omitempty" yaml:"inactivityTimeout,omitempty" mapstructure:"inactivityTimeout,omitempty"`

	// If true, the service cannot be invoked from the HTTP nor Kafka ingress.
	IngressPrivate *bool `json:"ingressPrivate,omitempty" yaml:"ingressPrivate,omitempty" mapstructure:"ingressPrivate,omitempty"`

	// Retry policy fields (protocol v4+)
	RetryPolicyInitialInterval      *int     `` /* 139-byte string literal not displayed */
	RetryPolicyMaxInterval          *int     `` /* 127-byte string literal not displayed */
	RetryPolicyMaxAttempts          *int     `` /* 127-byte string literal not displayed */
	RetryPolicyExponentiationFactor *float64 `` /* 154-byte string literal not displayed */
	RetryPolicyOnMaxAttempts        *string  `` /* 133-byte string literal not displayed */

	// Description of an input payload. This will be used by Restate to validate
	// incoming requests.
	Input *encoding.InputPayload `json:"input,omitempty" yaml:"input,omitempty" mapstructure:"input,omitempty"`

	// Journal retention duration, expressed in milliseconds.
	JournalRetention *int `json:"journalRetention,omitempty" yaml:"journalRetention,omitempty" mapstructure:"journalRetention,omitempty"`

	// Custom metadata of this handler definition. This metadata is shown on the Admin
	// API when querying the service/handler definition.
	Metadata map[string]string `json:"metadata,omitempty" yaml:"metadata,omitempty" mapstructure:"metadata,omitempty"`

	// Name corresponds to the JSON schema field "name".
	Name string `json:"name" yaml:"name" mapstructure:"name"`

	// Description of an output payload.
	Output *encoding.OutputPayload `json:"output,omitempty" yaml:"output,omitempty" mapstructure:"output,omitempty"`

	// If unspecified, defaults to EXCLUSIVE for Virtual Object or WORKFLOW for
	// Workflows. This should be unset for Services.
	Ty *ServiceHandlerType `json:"ty,omitempty" yaml:"ty,omitempty" mapstructure:"ty,omitempty"`

	// Workflow completion retention duration, expressed in milliseconds. This is
	// valid ONLY when HandlerType == WORKFLOW
	WorkflowCompletionRetention *int `` /* 142-byte string literal not displayed */
}

type ProtocolMode

type ProtocolMode string
const (
	ProtocolMode_BIDI_STREAM      ProtocolMode = "BIDI_STREAM"
	ProtocolMode_REQUEST_RESPONSE ProtocolMode = "REQUEST_RESPONSE"
)

type Service

type Service struct {
	// Abort timeout duration, expressed in milliseconds.
	AbortTimeout *int `json:"abortTimeout,omitempty" yaml:"abortTimeout,omitempty" mapstructure:"abortTimeout,omitempty"`

	// Documentation for this service definition. No format is enforced, but generally
	// Markdown is assumed.
	Documentation *string `json:"documentation,omitempty" yaml:"documentation,omitempty" mapstructure:"documentation,omitempty"`

	// If true, lazy state is enabled.
	EnableLazyState *bool `json:"enableLazyState,omitempty" yaml:"enableLazyState,omitempty" mapstructure:"enableLazyState,omitempty"`

	// Handlers corresponds to the JSON schema field "handlers".
	Handlers []Handler `json:"handlers" yaml:"handlers" mapstructure:"handlers"`

	// Idempotency retention duration, expressed in milliseconds. When ServiceType ==
	// WORKFLOW, this option will be applied only to the shared handlers. See
	// workflowCompletionRetention for more details.
	IdempotencyRetention *int `json:"idempotencyRetention,omitempty" yaml:"idempotencyRetention,omitempty" mapstructure:"idempotencyRetention,omitempty"`

	// Inactivity timeout duration, expressed in milliseconds.
	InactivityTimeout *int `json:"inactivityTimeout,omitempty" yaml:"inactivityTimeout,omitempty" mapstructure:"inactivityTimeout,omitempty"`

	// If true, the service cannot be invoked from the HTTP nor Kafka ingress.
	IngressPrivate *bool `json:"ingressPrivate,omitempty" yaml:"ingressPrivate,omitempty" mapstructure:"ingressPrivate,omitempty"`

	// Retry policy fields (protocol v4+)
	RetryPolicyInitialInterval      *int     `` /* 139-byte string literal not displayed */
	RetryPolicyMaxInterval          *int     `` /* 127-byte string literal not displayed */
	RetryPolicyMaxAttempts          *int     `` /* 127-byte string literal not displayed */
	RetryPolicyExponentiationFactor *float64 `` /* 154-byte string literal not displayed */
	RetryPolicyOnMaxAttempts        *string  `` /* 133-byte string literal not displayed */

	// Journal retention duration, expressed in milliseconds.
	JournalRetention *int `json:"journalRetention,omitempty" yaml:"journalRetention,omitempty" mapstructure:"journalRetention,omitempty"`

	// Custom metadata of this service definition. This metadata is shown on the Admin
	// API when querying the service definition.
	Metadata map[string]string `json:"metadata,omitempty" yaml:"metadata,omitempty" mapstructure:"metadata,omitempty"`

	// Name corresponds to the JSON schema field "name".
	Name string `json:"name" yaml:"name" mapstructure:"name"`

	// Ty corresponds to the JSON schema field "ty".
	Ty ServiceType `json:"ty" yaml:"ty" mapstructure:"ty"`
}

type ServiceHandlerType

type ServiceHandlerType string
const (
	ServiceHandlerType_WORKFLOW  ServiceHandlerType = "WORKFLOW"
	ServiceHandlerType_EXCLUSIVE ServiceHandlerType = "EXCLUSIVE"
	ServiceHandlerType_SHARED    ServiceHandlerType = "SHARED"
)

type ServiceType

type ServiceType string
const (
	ServiceType_VIRTUAL_OBJECT ServiceType = "VIRTUAL_OBJECT"
	ServiceType_SERVICE        ServiceType = "SERVICE"
	ServiceType_WORKFLOW       ServiceType = "WORKFLOW"
)

Directories

Path Synopsis
Package errors holds the SDK's error model.
Package errors holds the SDK's error model.
Package stringmap provides a read-only, deterministically-ordered view over a set of string key/value pairs.
Package stringmap provides a read-only, deterministically-ordered view over a set of string key/value pairs.

Jump to

Keyboard shortcuts

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