service

package
v0.2.2-beta.1 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNilConfig = errors.New("nil config")
)
View Source
var (
	Version string
)

Functions

func RunCLI

func RunCLI(ctx context.Context)

Types

type ClientKeepAliveConfig

type ClientKeepAliveConfig struct {
	MinTime             time.Duration `yaml:"min_time"`
	PermitWithoutStream bool          `yaml:"permit_without_stream"`
}

type Config

type Config struct {
	Fujin         FujinConfig          `yaml:"fujin"`
	GRPC          GRPCConfig           `yaml:"grpc"`
	Connectors    connectors.Config    `yaml:"connectors"`
	Observability observability.Config `yaml:"observability"`
}

type FujinConfig

type FujinConfig struct {
	Enabled               bool              `yaml:"enabled"`
	Addr                  string            `yaml:"addr"`
	WriteDeadline         time.Duration     `yaml:"write_deadline"`
	ForceTerminateTimeout time.Duration     `yaml:"force_terminate_timeout"`
	PingInterval          time.Duration     `yaml:"ping_interval"`
	PingTimeout           time.Duration     `yaml:"ping_timeout"`
	PingStream            bool              `yaml:"ping_stream"`
	PingMaxRetries        int               `yaml:"ping_max_retries"`
	TLS                   pconfig.TLSConfig `yaml:"tls"`
	QUIC                  QUICConfig        `yaml:"quic"`
}

type GRPCConfig

type GRPCConfig struct {
	Enabled               bool                  `yaml:"enabled"`
	Addr                  string                `yaml:"addr"`
	ConnectionTimeout     time.Duration         `yaml:"connection_timeout"`
	MaxConcurrentStreams  uint32                `yaml:"max_concurrent_streams"`
	MaxRecvMsgSize        int                   `yaml:"max_recv_msg_size"`
	MaxSendMsgSize        int                   `yaml:"max_send_msg_size"`
	InitialWindowSize     int32                 `yaml:"initial_window_size"`
	InitialConnWindowSize int32                 `yaml:"initial_conn_window_size"`
	ServerKeepAlive       ServerKeepAliveConfig `yaml:"server_keepalive"`
	ClientKeepAlive       ClientKeepAliveConfig `yaml:"client_keepalive"`
	TLS                   pconfig.TLSConfig     `yaml:"tls"`
}

type QUICConfig

type QUICConfig struct {
	MaxIncomingStreams   int64         `yaml:"max_incoming_streams"`
	KeepAlivePeriod      time.Duration `yaml:"keepalive_period"`
	HandshakeIdleTimeout time.Duration `yaml:"handshake_idle_timeout"`
	MaxIdleTimeout       time.Duration `yaml:"max_idle_timeout"`
}

type ServerKeepAliveConfig

type ServerKeepAliveConfig struct {
	Time                  time.Duration `yaml:"time"`
	Timeout               time.Duration `yaml:"timeout"`
	MaxConnectionIdle     time.Duration `yaml:"max_connection_idle"`
	MaxConnectionAge      time.Duration `yaml:"max_connection_age"`
	MaxConnectionAgeGrace time.Duration `yaml:"max_connection_age_grace"`
}

Jump to

Keyboard shortcuts

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