Skip to content

Latest commit

 

History

History
 
 

core

Core

Go Reference Go Report Card

Core contains common libraries used across the synapse Go repositories.

Directory Structure

root
├── bytemap: Implements a map using `[]rune` or `[]byte` instead of `string`
├── commandline: Provides utilities for creating an interactive shell command for a [`cli`](github.com/urfave/cli) using the [`go-prompt`](github.com/c-bata/go-prompt) package.
├── config: Contains the configuration for the core package.
├── dbcommon: Contains common database utilities used with gorm.
├── dockerutil: Provides tools for working with Docker.
├── ginhelper: Contains a set of utilities for working with the Gin framework and a set of common middleware.
├── mapmutex: Implements a map that uses a mutex to protect concurrent access.
├── merkle: Provides a go based merkle tree implementation.
├── metrics: Provides a set of utilities for working with metrics/otel tracing.
├── mocktesting: Provides a mocked tester for use with `testing.TB`
├── observer(deprecated): Provides an interface for adding/removing listeners.
├── processlog: Provides a way to interact with detatched processes as streams.
├── retry: Retries a function until it succeeds or the timeout is reached. This comes with a set of backoff strategies/options.
├── server: Provides a context-safe server that can be used to start/stop a server.
├── testsuite: Provides a wrapper around testify/suite.
├── threaditer: Provides a thread-safe generic iterator for a slice.