utilds

package
v0.14.0-beta.1 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Errorf added in v0.14.0

func Errorf(code string, format string, args ...interface{}) error

Errorf creates a formatted error wrapped in a CodedError. This is a convenience function that combines fmt.Errorf with MakeCodedError.

func GetErrorCode added in v0.14.0

func GetErrorCode(err error) string

GetErrorCode extracts the error code from anywhere in the error chain. Returns empty string if no CodedError is found.

Types

type CodedError added in v0.14.0

type CodedError struct {
	Code string
	Err  error
}

CodedError wraps an error with a string code for categorization. The code can be extracted from anywhere in an error chain using GetErrorCode.

func MakeCodedError added in v0.14.0

func MakeCodedError(code string, err error) CodedError

MakeCodedError creates a new CodedError with the given code and error.

func (CodedError) Error added in v0.14.0

func (e CodedError) Error() string

func (CodedError) Unwrap added in v0.14.0

func (e CodedError) Unwrap() error

type IdList added in v0.14.0

type IdList[T any] struct {
	// contains filtered or unexported fields
}

func (*IdList[T]) GetList added in v0.14.0

func (il *IdList[T]) GetList() []T

func (*IdList[T]) Register added in v0.14.0

func (il *IdList[T]) Register(val T) string

func (*IdList[T]) RegisterWithId added in v0.14.0

func (il *IdList[T]) RegisterWithId(id string, val T)

func (*IdList[T]) Unregister added in v0.14.0

func (il *IdList[T]) Unregister(id string)

type MultiReaderLineBuffer added in v0.12.2

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

func MakeMultiReaderLineBuffer added in v0.12.2

func MakeMultiReaderLineBuffer(maxLines int) *MultiReaderLineBuffer

func (*MultiReaderLineBuffer) AddLine added in v0.12.2

func (mrlb *MultiReaderLineBuffer) AddLine(line string)

func (*MultiReaderLineBuffer) GetLineCount added in v0.12.2

func (mrlb *MultiReaderLineBuffer) GetLineCount() int

func (*MultiReaderLineBuffer) GetLines added in v0.12.2

func (mrlb *MultiReaderLineBuffer) GetLines() []string

func (*MultiReaderLineBuffer) GetTotalLineCount added in v0.12.2

func (mrlb *MultiReaderLineBuffer) GetTotalLineCount() int

func (*MultiReaderLineBuffer) ReadAll added in v0.12.2

func (mrlb *MultiReaderLineBuffer) ReadAll(r io.Reader)

func (*MultiReaderLineBuffer) SetLineCallback added in v0.12.2

func (mrlb *MultiReaderLineBuffer) SetLineCallback(callback func(string))

callback is synchronous. will block the consuming of lines and guaranteed to run in order. it is also guaranteed only one callback will be running at a time (protected by the internal line lock)

type QuickReorderQueue added in v0.14.0

type QuickReorderQueue[T any] struct {
	// contains filtered or unexported fields
}

func MakeQuickReorderQueue added in v0.14.0

func MakeQuickReorderQueue[T any](bufSize int, timeout time.Duration) *QuickReorderQueue[T]

func (*QuickReorderQueue[T]) C added in v0.14.0

func (q *QuickReorderQueue[T]) C() <-chan T

func (*QuickReorderQueue[T]) Close added in v0.14.0

func (q *QuickReorderQueue[T]) Close()

func (*QuickReorderQueue[T]) QueueItem added in v0.14.0

func (q *QuickReorderQueue[T]) QueueItem(sessionId string, seqNum int, data T) error

func (*QuickReorderQueue[T]) SetNextSeqNum added in v0.14.0

func (q *QuickReorderQueue[T]) SetNextSeqNum(seqNum int)

type ReaderLineBuffer

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

func MakeReaderLineBuffer

func MakeReaderLineBuffer(reader io.Reader, maxLines int) *ReaderLineBuffer

func (*ReaderLineBuffer) GetLineCount

func (rlb *ReaderLineBuffer) GetLineCount() int

func (*ReaderLineBuffer) GetLines

func (rlb *ReaderLineBuffer) GetLines() []string

func (*ReaderLineBuffer) GetTotalLineCount

func (rlb *ReaderLineBuffer) GetTotalLineCount() int

func (*ReaderLineBuffer) IsDone

func (rlb *ReaderLineBuffer) IsDone() bool

func (*ReaderLineBuffer) ReadAll

func (rlb *ReaderLineBuffer) ReadAll()

func (*ReaderLineBuffer) ReadLine

func (rlb *ReaderLineBuffer) ReadLine() (string, error)

func (*ReaderLineBuffer) SetLineCallback

func (rlb *ReaderLineBuffer) SetLineCallback(callback func(string))

type SyncCache added in v0.13.1

type SyncCache[T any] struct {
	// contains filtered or unexported fields
}

func MakeSyncCache added in v0.13.1

func MakeSyncCache[T any](computeFn func() (T, error)) *SyncCache[T]

func (*SyncCache[T]) Get added in v0.13.1

func (sc *SyncCache[T]) Get(force bool) (T, error)

type VersionTs added in v0.14.0

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

func (*VersionTs) GetVersionTs added in v0.14.0

func (v *VersionTs) GetVersionTs() int64

type WorkQueue added in v0.14.0

type WorkQueue[T any] struct {
	// contains filtered or unexported fields
}

func NewWorkQueue added in v0.14.0

func NewWorkQueue[T any](workFn func(T)) *WorkQueue[T]

func (*WorkQueue[T]) Close added in v0.14.0

func (wq *WorkQueue[T]) Close(immediate bool)

func (*WorkQueue[T]) Enqueue added in v0.14.0

func (wq *WorkQueue[T]) Enqueue(item T) bool

func (*WorkQueue[T]) Wait added in v0.14.0

func (wq *WorkQueue[T]) Wait()

Jump to

Keyboard shortcuts

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