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

positions

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2019 License: Apache-2.0 Imports: 11 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 struct {
	SyncPeriod    time.Duration `yaml:"sync_period"`
	PositionsFile string        `yaml:"filename"`
}

Config describes where to get postition information from.

func (*Config) RegisterFlags

func (cfg *Config) RegisterFlags(flags *flag.FlagSet)

RegisterFlags register flags.

type File

type File struct {
	Positions map[string]string `yaml:"positions"`
}

File format for the positions data.

type Positions

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

Positions tracks how far through each file we've read.

func New

func New(logger log.Logger, cfg Config) (*Positions, error)

New makes a new Positions.

func (*Positions) Get

func (p *Positions) Get(path string) (int64, error)

Get returns how far we've read through a file. Returns an error if the value stored for the file is not an integer.

func (*Positions) GetString added in v0.2.0

func (p *Positions) GetString(path string) string

GetString returns how far we've through a file as a string. JournalTarget writes a journal cursor to the positions file, while FileTarget writes an integer offset. Use Get to read the integer offset.

func (*Positions) Put

func (p *Positions) Put(path string, pos int64)

Put records (asynchronously) how far we've read through a file.

func (*Positions) PutString added in v0.2.0

func (p *Positions) PutString(path string, pos string)

PutString records (asynchronsouly) how far we've read through a file. Unlike Put, it records a string offset and is only useful for JournalTargets which doesn't have integer offsets.

func (*Positions) Remove

func (p *Positions) Remove(path string)

Remove removes the position tracking for a filepath

func (*Positions) Stop

func (p *Positions) Stop()

Stop the Position tracker.

func (*Positions) SyncPeriod

func (p *Positions) SyncPeriod() time.Duration

SyncPeriod returns how often the positions file gets resynced

Jump to

Keyboard shortcuts

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