mongo-drivergo.mongodb.org/mongo-driver/internal Index | Files | Directories

package internal

import "go.mongodb.org/mongo-driver/internal"

Index

Variables

var Version = "local build"

Version is the current version of the driver.

Functions

func MultiError

func MultiError(errors ...error) error

MultiError combines multiple errors into a single error. If there are no errors, nil is returned. If there is 1 error, it is returned. Otherwise, they are combined.

func RolledUpErrorMessage

func RolledUpErrorMessage(err error) string

RolledUpErrorMessage gets a flattened error message.

func UnwrapError

func UnwrapError(err error) error

UnwrapError attempts to unwrap the error down to its root cause.

func WrapError

func WrapError(inner error, message string) error

WrapError wraps an error with a message.

func WrapErrorf

func WrapErrorf(inner error, format string, args ...interface{}) error

WrapErrorf wraps an error with a message.

Types

type Semaphore

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

Semaphore is a synchronization primitive that controls access to a common resource.

func NewSemaphore

func NewSemaphore(slots uint64) *Semaphore

NewSemaphore creates a new semaphore.

func (*Semaphore) Len

func (s *Semaphore) Len() uint64

Len gets the number of permits available.

func (*Semaphore) Release

func (s *Semaphore) Release() error

Release releases a resource back into the pool.

func (*Semaphore) Wait

func (s *Semaphore) Wait(ctx context.Context) error

Wait waits until a resource is available or until the context is done.

type WrappedError

type WrappedError interface {
	// Message gets the basic message of the error.
	Message() string
	// Inner gets the inner error if one exists.
	Inner() error
}

WrappedError represents an error that contains another error.

Source Files

const.go error.go semaphore.go

Directories

PathSynopsis
internal/testutil
internal/testutil/assert
internal/testutil/helpers
internal/testutil/isracePackage israce reports if the Go race detector is enabled.
Version
v1.4.3
Published
Nov 3, 2020
Platform
windows/amd64
Imports
3 packages
Last checked
18 minutes ago

Tools for package owners.