common

package
v0.0.0-...-7e77c86 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2019 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PackageIdHeaderName = "PACKAGE_ID"
)

Variables

This section is empty.

Functions

func AddSchemaRegistryHeader

func AddSchemaRegistryHeader(buffer *bytes.Buffer, schemaId uint32)

AddSchemaRegistryHeader puts header to the message to make it compatible with Kafka avro serde that uses schema registry. The header consists of 5 bytes: 1st byte is always zero. bytes from 2 to 5 contains ID of the schema defined in schema registry

func RegisterSchemaIfNotExists

func RegisterSchemaIfNotExists(schemaRegistryClient *schemaregistry.Client, subject string, schema string) (uint32, error)

Types

type AppSettings

type AppSettings struct {
	HostName                string `yaml:"HostName"`
	Port                    string `yaml:"Port"`
	ConnectionTimeToLiveSec int    `yaml:"ConnectionTimeToLiveSec"`
}

func (*AppSettings) GetConnectionTimeToLiveSec

func (s *AppSettings) GetConnectionTimeToLiveSec() time.Duration

func (*AppSettings) GetFullAddress

func (a *AppSettings) GetFullAddress() string

type KafkaProducer

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

func (*KafkaProducer) Close

func (p *KafkaProducer) Close() error

func (*KafkaProducer) Initialize

func (p *KafkaProducer) Initialize(cfg *KafkaSettings, logger *log.Logger) error

func (*KafkaProducer) Produce

func (p *KafkaProducer) Produce(measurementPackage *egtsschema.MeasurementPackage) error

type KafkaSettings

type KafkaSettings struct {
	Brokers           []string `yaml:"Brokers"`
	SchemaRegistryUrl string   `yaml:"SchemaRegistryUrl"`
	OutputTopicName   string   `yaml:"OutputTopicName"`
}

type LogSettings

type LogSettings struct {
	Level string `yaml:"Level"`
}

func (*LogSettings) GetLevel

func (l *LogSettings) GetLevel() log.Lvl

type Settings

type Settings struct {
	App   AppSettings   `yaml:"app"`
	Log   LogSettings   `yaml:"log"`
	Kafka KafkaSettings `yaml:"kafka"`
}

func (*Settings) LoadFromEnv

func (s *Settings) LoadFromEnv() error

func (*Settings) LoadFromFile

func (s *Settings) LoadFromFile(configPath string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳