protocfg

package
v0.0.0-...-66343a0 Latest Latest
Warning

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

Go to latest
Published: May 14, 2024 License: BSD-3-Clause, BSD-3-Clause Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config[T any, PT interface {
	*T
	proto.Message
}] struct {
	Reader MessageReader
	Parser MessageParser[T, PT]
	// contains filtered or unexported fields
}

func FromFile

func FromFile[T any, PT interface {
	*T
	proto.Message
}](filename string) *Config[T, PT]

func (*Config[T, PT]) Load

func (c *Config[T, PT]) Load() (*T, error)

func (*Config[T, PT]) LoadOnSignals

func (c *Config[T, PT]) LoadOnSignals(sigs ...os.Signal) (<-chan *T, error)

type FileReader

type FileReader struct {
	Filename string
}

func (*FileReader) ReadMessage

func (r *FileReader) ReadMessage() ([]byte, error)

type IOReader

type IOReader struct {
	Reader io.ReadCloser
}

func (*IOReader) ReadMessage

func (r *IOReader) ReadMessage() ([]byte, error)

type JsonnetFileReader

type JsonnetFileReader struct {
	Filename string
}

func (*JsonnetFileReader) ReadMessage

func (r *JsonnetFileReader) ReadMessage() ([]byte, error)

type MessageParser

type MessageParser[T any, PT interface {
	*T
	proto.Message
}] interface {
	Parse([]byte) (*T, error)
}

func BinaryProto

func BinaryProto[T any, PT interface {
	*T
	proto.Message
}]() MessageParser[T, PT]

func Json

func Json[T any, PT interface {
	*T
	proto.Message
}]() MessageParser[T, PT]

func TextProto

func TextProto[T any, PT interface {
	*T
	proto.Message
}]() MessageParser[T, PT]

type MessageReader

type MessageReader interface {
	ReadMessage() ([]byte, error)
}

func NewFileReader

func NewFileReader(filename string) MessageReader

func NewJsonnetFileReader

func NewJsonnetFileReader(filename string) MessageReader

Jump to

Keyboard shortcuts

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