obs

package
v0.0.0-...-f5f1695 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultObserver

type DefaultObserver struct {
	gpsprot.DefaultHandler
}

DefaultObserver is a no-op implementation of Observer

func (*DefaultObserver) NavEpochPV

func (o *DefaultObserver) NavEpochPV(_ *gpsprot.NavEpochMsg, _ *gpsprot.PVMsgBundle, _ time.Time)

NavEpochPV implements Observer as a no-op

func (*DefaultObserver) Release

func (o *DefaultObserver) Release()

Release implements Observer as a no-op

func (*DefaultObserver) ReopenLog

func (o *DefaultObserver) ReopenLog()

ReopenLog implements Observer as a no-op

func (*DefaultObserver) Sample

func (o *DefaultObserver) Sample(data phcsync.Sample)

Sample implements phcsync.Sampler as a no-op

func (*DefaultObserver) Tick

func (o *DefaultObserver) Tick(_ *gpsprot.TimeMsg, _ time.Time)

Tick implements Observer as a no-op

type MultiObserver

type MultiObserver struct {
	*gpsprot.MultiHandler
}

MultiObserver fans out calls to multiple observers

func NewMultiObserver

func NewMultiObserver(observers ...Observer) *MultiObserver

NewMultiObserver creates a new MultiObserver that fans out to multiple observers

func (*MultiObserver) NavEpochPV

func (m *MultiObserver) NavEpochPV(msg *gpsprot.NavEpochMsg, pv *gpsprot.PVMsgBundle, tRead time.Time)

NavEpochPV implements Observer by type-asserting handlers to Observer

func (*MultiObserver) Release

func (m *MultiObserver) Release()

Release implements Observer by type-asserting handlers to Observer

func (*MultiObserver) ReopenLog

func (m *MultiObserver) ReopenLog()

ReopenLog implements Observer by type-asserting handlers to Observer

func (*MultiObserver) Sample

func (m *MultiObserver) Sample(data phcsync.Sample)

Sample implements phcsync.Sampler by type-asserting handlers to Sampler

func (*MultiObserver) Tick

func (m *MultiObserver) Tick(msg *gpsprot.TimeMsg, tRead time.Time)

Tick implements Observer by type-asserting handlers to Observer

type Observer

type Observer interface {
	phcsync.Sampler
	gpsprot.MsgHandler

	// Tick delivers a filled TimeMsg (TAI+UTC populated, rounded to ms)
	// once per epoch, as soon as the first valid TimeMsg arrives.
	Tick(msg *gpsprot.TimeMsg, tRead time.Time)

	// NavEpochPV delivers the accumulated PVMsgBundle at each navigation epoch.
	// Relative order with respect to NavEpoch is undefined;
	// observers should use one or the other, not both.
	NavEpochPV(msg *gpsprot.NavEpochMsg, pv *gpsprot.PVMsgBundle, tRead time.Time)

	// ReopenLog handles log rotation (e.g., on SIGHUP signal)
	ReopenLog()

	// Release releases any resources used by the observer
	Release()
}

Observer provides unified observability interface

Jump to

Keyboard shortcuts

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