manipmemory

package
v1.135.0 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package manipmemory provides a go-memdb backed Manipulator.

This is meant to be use to communicate with Bahamut based API servers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

New creates a new datastore backed by a memdb.

Types

type IdentitySchema

type IdentitySchema struct {
	// Identity of the object.
	Identity elemental.Identity

	// Indexes of the object
	Indexes []*Index
}

IdentitySchema is the configuration of the indexes for the associated identity.

type Index

type Index struct {

	// Name of the index. Must match an attribute of elemental.
	Name string

	// Type of the index.
	Type IndexType

	// If there is a unique requirement on the index. At least
	// one of the indexes must have this set.
	Unique bool

	// Attribute is the elemental attribute name.
	Attribute string
}

Index configures the attributes that must be indexed.

type IndexType

type IndexType int

IndexType is the data type of the index.

const (
	IndexTypeString IndexType = iota
	IndexTypeSlice
	IndexTypeMap
	IndexTypeBoolean
	IndexTypeStringBased
)

Values of IndexType.

type Option added in v1.90.0

type Option func(*config)

An Option represents a maniphttp.Manipulator option.

func OptionNoCopy added in v1.90.0

func OptionNoCopy(noCopy bool) Option

OptionNoCopy tells the manipulator to store the data as is without copying it. This is faster, but unsafe as pointers are stored as is, allowing random modifications. If you use this option, you must make sure you are not modifying the object your store or retrieve.

Jump to

Keyboard shortcuts

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