storage

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2021 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Memory

type Memory struct {
	Bag map[ld.Link][]byte
}

Memory is a simple in-memory storage for data indexed by ld.Link. (It's little more than a map -- in fact, the map is exported, and you can poke it directly.)

The OpenRead method conforms to ld.BlockReadOpener, and the OpenWrite method conforms to ld.BlockWriteOpener. Therefore it's easy to use in a LinkSystem like this:

store := storage.Memory{}
lsys.StorageReadOpener = (&store).OpenRead
lsys.StorageWriteOpener = (&store).OpenWrite

This storage is mostly expected to be used for testing and demos, and as an example of how you can implement and integrate your own storage systems.

func (*Memory) OpenRead

func (store *Memory) OpenRead(lnkCtx ld.LinkContext, lnk ld.Link) (io.Reader, error)

func (*Memory) OpenWrite

func (store *Memory) OpenWrite(lnkCtx ld.LinkContext) (io.Writer, ld.BlockWriteCommitter, error)

Jump to

Keyboard shortcuts

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