coreapi

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2021 License: Apache-2.0, MIT, Apache-2.0, + 1 more Imports: 60 Imported by: 0

Documentation

Overview

Package coreapi provides direct access to the core commands in DMS3. If you are embedding DMS3 directly in your Go program, this package is the public interface you should use to read and write files or otherwise control DMS3.

If you are running DMS3 as a separate process, you should use `go-dms3-api` to work with it via HTTP. As we finalize the interfaces here, `go-dms3-api` will transparently adopt them so you can use the same code with either package.

**NOTE: this package is experimental.** `go-dms3` has mainly been developed as a standalone application and library-style use of this package is still new. Interfaces here aren't yet completely stable.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCoreAPI

func NewCoreAPI(n *core.Dms3Node, opts ...options.ApiOption) (coreiface.CoreAPI, error)

NewCoreAPI creates new instance of DMS3 CoreAPI backed by go-dms3 Node.

Types

type BlockAPI

type BlockAPI CoreAPI

func (*BlockAPI) Get

func (api *BlockAPI) Get(ctx context.Context, p path.Path) (io.Reader, error)

func (*BlockAPI) Put

func (api *BlockAPI) Put(ctx context.Context, src io.Reader, opts ...caopts.BlockPutOption) (coreiface.BlockStat, error)

func (*BlockAPI) Rm

func (api *BlockAPI) Rm(ctx context.Context, p path.Path, opts ...caopts.BlockRmOption) error

func (*BlockAPI) Stat

func (api *BlockAPI) Stat(ctx context.Context, p path.Path) (coreiface.BlockStat, error)

type BlockStat

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

func (*BlockStat) Path

func (bs *BlockStat) Path() path.Resolved

func (*BlockStat) Size

func (bs *BlockStat) Size() int

type CoreAPI

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

func (*CoreAPI) Block

func (api *CoreAPI) Block() coreiface.BlockAPI

Block returns the BlockAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) Dag

func (api *CoreAPI) Dag() coreiface.APIDagService

Dag returns the DagAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) Dht

func (api *CoreAPI) Dht() coreiface.DhtAPI

Dht returns the DhtAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) Index

func (api *CoreAPI) Index() coreiface.IndexAPI

IndexRepo returns the IndexRepoAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) Key

func (api *CoreAPI) Key() coreiface.KeyAPI

Key returns the KeyAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) Name

func (api *CoreAPI) Name() coreiface.NameAPI

Name returns the NameAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) Object

func (api *CoreAPI) Object() coreiface.ObjectAPI

Object returns the ObjectAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) Pin

func (api *CoreAPI) Pin() coreiface.PinAPI

Pin returns the PinAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) PubSub

func (api *CoreAPI) PubSub() coreiface.PubSubAPI

PubSub returns the PubSubAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) ResolveNode

func (api *CoreAPI) ResolveNode(ctx context.Context, p path.Path) (ld.Node, error)

ResolveNode resolves the path `p` using Unixfs resolver, gets and returns the resolved Node.

func (*CoreAPI) ResolvePath

func (api *CoreAPI) ResolvePath(ctx context.Context, p path.Path) (path.Resolved, error)

ResolvePath resolves the path `p` using Unixfs resolver, returns the resolved path.

func (*CoreAPI) Swarm

func (api *CoreAPI) Swarm() coreiface.SwarmAPI

Swarm returns the SwarmAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) Unixfs

func (api *CoreAPI) Unixfs() coreiface.UnixfsAPI

Unixfs returns the UnixfsAPI interface implementation backed by the go-dms3 node

func (*CoreAPI) WithOptions

func (api *CoreAPI) WithOptions(opts ...options.ApiOption) (coreiface.CoreAPI, error)

WithOptions returns api with global options applied

type DhtAPI

type DhtAPI CoreAPI

func (*DhtAPI) FindPeer

func (api *DhtAPI) FindPeer(ctx context.Context, p peer.ID) (peer.AddrInfo, error)

func (*DhtAPI) FindProviders

func (api *DhtAPI) FindProviders(ctx context.Context, p path.Path, opts ...caopts.DhtFindProvidersOption) (<-chan peer.AddrInfo, error)

func (*DhtAPI) Provide

func (api *DhtAPI) Provide(ctx context.Context, path path.Path, opts ...caopts.DhtProvideOption) error

type IndexAPI

type IndexAPI CoreAPI

func (*IndexAPI) Index

Index returns the data contained by an DMS3 or DMS3NS object(s) at path `p`. func (api *IndexAPI) Index(ctx context.Context, r io.Reader) (coreiface.Reader, error) {

type KeyAPI

type KeyAPI CoreAPI

func (*KeyAPI) Generate

func (api *KeyAPI) Generate(ctx context.Context, name string, opts ...caopts.KeyGenerateOption) (coreiface.Key, error)

Generate generates new key, stores it in the keystore under the specified name and returns a base58 encoded multihash of its public key.

func (*KeyAPI) List

func (api *KeyAPI) List(ctx context.Context) ([]coreiface.Key, error)

List returns a list keys stored in keystore.

func (*KeyAPI) Remove

func (api *KeyAPI) Remove(ctx context.Context, name string) (coreiface.Key, error)

Remove removes keys from keystore. Returns dms3ns path of the removed key.

func (*KeyAPI) Rename

func (api *KeyAPI) Rename(ctx context.Context, oldName string, newName string, opts ...caopts.KeyRenameOption) (coreiface.Key, bool, error)

Rename renames `oldName` to `newName`. Returns the key and whether another key was overwritten, or an error.

func (*KeyAPI) Self

func (api *KeyAPI) Self(ctx context.Context) (coreiface.Key, error)
type Link struct {
	Name, Hash string
	Size       uint64
}

type NameAPI

type NameAPI CoreAPI

func (*NameAPI) Publish

Publish announces new DMS3NS name and returns the new DMS3NS entry.

func (*NameAPI) Resolve

func (api *NameAPI) Resolve(ctx context.Context, name string, opts ...caopts.NameResolveOption) (path.Path, error)

Resolve attempts to resolve the newest version of the specified name and returns its path.

func (*NameAPI) Search

func (api *NameAPI) Search(ctx context.Context, name string, opts ...caopts.NameResolveOption) (<-chan coreiface.Dms3NsResult, error)

type Node

type Node struct {
	Links []Link
	Data  string
}

type ObjectAPI

type ObjectAPI CoreAPI
func (api *ObjectAPI) AddLink(ctx context.Context, base ipath.Path, name string, child ipath.Path, opts ...caopts.ObjectAddLinkOption) (ipath.Resolved, error)

func (*ObjectAPI) AppendData

func (api *ObjectAPI) AppendData(ctx context.Context, path ipath.Path, r io.Reader) (ipath.Resolved, error)

func (*ObjectAPI) Data

func (api *ObjectAPI) Data(ctx context.Context, path ipath.Path) (io.Reader, error)

func (*ObjectAPI) Diff

func (api *ObjectAPI) Diff(ctx context.Context, before ipath.Path, after ipath.Path) ([]coreiface.ObjectChange, error)

func (*ObjectAPI) Get

func (api *ObjectAPI) Get(ctx context.Context, path ipath.Path) (ld.Node, error)
func (api *ObjectAPI) Links(ctx context.Context, path ipath.Path) ([]*ld.Link, error)

func (*ObjectAPI) New

func (api *ObjectAPI) New(ctx context.Context, opts ...caopts.ObjectNewOption) (ld.Node, error)

func (*ObjectAPI) Put

func (api *ObjectAPI) Put(ctx context.Context, src io.Reader, opts ...caopts.ObjectPutOption) (ipath.Resolved, error)
func (api *ObjectAPI) RmLink(ctx context.Context, base ipath.Path, link string) (ipath.Resolved, error)

func (*ObjectAPI) SetData

func (api *ObjectAPI) SetData(ctx context.Context, path ipath.Path, r io.Reader) (ipath.Resolved, error)

func (*ObjectAPI) Stat

func (api *ObjectAPI) Stat(ctx context.Context, path ipath.Path) (*coreiface.ObjectStat, error)

type PinAPI

type PinAPI CoreAPI

func (*PinAPI) Add

func (api *PinAPI) Add(ctx context.Context, p path.Path, opts ...caopts.PinAddOption) error

func (*PinAPI) IsPinned

func (api *PinAPI) IsPinned(ctx context.Context, p path.Path, opts ...caopts.PinIsPinnedOption) (string, bool, error)

func (*PinAPI) Ls

func (api *PinAPI) Ls(ctx context.Context, opts ...caopts.PinLsOption) (<-chan coreiface.Pin, error)

func (*PinAPI) Rm

func (api *PinAPI) Rm(ctx context.Context, p path.Path, opts ...caopts.PinRmOption) error

Rm pin rm api

func (*PinAPI) Update

func (api *PinAPI) Update(ctx context.Context, from path.Path, to path.Path, opts ...caopts.PinUpdateOption) error

func (*PinAPI) Verify

func (api *PinAPI) Verify(ctx context.Context) (<-chan coreiface.PinStatus, error)

type ProviderAPI

type ProviderAPI CoreAPI

ProviderAPI brings Provider behavior to CoreAPI

func (*ProviderAPI) Provide

func (api *ProviderAPI) Provide(cid cid.Cid) error

Provide the given cid using the current provider

type PubSubAPI

type PubSubAPI CoreAPI

func (*PubSubAPI) Ls

func (api *PubSubAPI) Ls(ctx context.Context) ([]string, error)

func (*PubSubAPI) Peers

func (api *PubSubAPI) Peers(ctx context.Context, opts ...caopts.PubSubPeersOption) ([]peer.ID, error)

func (*PubSubAPI) Publish

func (api *PubSubAPI) Publish(ctx context.Context, topic string, data []byte) error

func (*PubSubAPI) Subscribe

type SwarmAPI

type SwarmAPI CoreAPI

func (*SwarmAPI) Connect

func (api *SwarmAPI) Connect(ctx context.Context, pi peer.AddrInfo) error

func (*SwarmAPI) Disconnect

func (api *SwarmAPI) Disconnect(ctx context.Context, addr ma.Multiaddr) error

func (*SwarmAPI) KnownAddrs

func (api *SwarmAPI) KnownAddrs(context.Context) (map[peer.ID][]ma.Multiaddr, error)

func (*SwarmAPI) ListenAddrs

func (api *SwarmAPI) ListenAddrs(context.Context) ([]ma.Multiaddr, error)

func (*SwarmAPI) LocalAddrs

func (api *SwarmAPI) LocalAddrs(context.Context) ([]ma.Multiaddr, error)

func (*SwarmAPI) Peers

type UnixfsAPI

type UnixfsAPI CoreAPI

func (*UnixfsAPI) Add

func (api *UnixfsAPI) Add(ctx context.Context, files files.Node, opts ...options.UnixfsAddOption) (path.Resolved, error)

Add builds a merkledag node from a reader, adds it to the blockstore, and returns the key representing that node.

func (*UnixfsAPI) Get

func (api *UnixfsAPI) Get(ctx context.Context, p path.Path) (files.Node, error)

func (*UnixfsAPI) Ls

func (api *UnixfsAPI) Ls(ctx context.Context, p path.Path, opts ...options.UnixfsLsOption) (<-chan coreiface.DirEntry, error)

Ls returns the contents of an DMS3 or DMS3NS object(s) at path p, with the format: `<link base58 hash> <link size in bytes> <link name>`

Jump to

Keyboard shortcuts

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