client

package
v0.0.0-...-89def8d Latest Latest
Warning

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

Go to latest
Published: May 24, 2021 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrPushPathQueueClosed indicates the push path is or was closed.
	ErrPushPathQueueClosed = errors.New("push path queue is closed")
)

Functions

This section is empty.

Types

type Client

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

Client provides the client api.

func NewClient

func NewClient(addr string, opts ...grpc.DialOption) (*Client, error)

NewClient starts the client.

func (*Client) Close

func (c *Client) Close() error

Close closes the client's grpc connection and cancels any active requests.

func (*Client) Create

func (c *Client) Create(ctx context.Context, opts ...buckets.CreateOption) (*pb.CreateResponse, error)

Create initializes a new bucket. The bucket name is only meant to help identify a bucket in a UI and is not unique.

func (*Client) Get

func (c *Client) Get(ctx context.Context, thread core.ID, key string) (*pb.GetResponse, error)

Get returns the bucket root.

func (c *Client) GetLinks(ctx context.Context, thread core.ID, key, pth string) (*pb.GetLinksResponse, error)

GetLinks returns lists for resolving a bucket with various protocols.

func (*Client) List

func (c *Client) List(ctx context.Context, thread core.ID) (*pb.ListResponse, error)

List returns a list of all bucket roots.

func (*Client) ListIpfsPath

func (c *Client) ListIpfsPath(ctx context.Context, pth path.Path) (*pb.ListIpfsPathResponse, error)

ListIpfsPath returns items at a particular path in a UnixFS path living in the IPFS network.

func (*Client) ListPath

func (c *Client) ListPath(ctx context.Context, thread core.ID, key, pth string) (*pb.ListPathResponse, error)

ListPath returns information about a bucket path.

func (*Client) MovePath

func (c *Client) MovePath(
	ctx context.Context,
	thread core.ID,
	key, pth string, dest string,
	opts ...buckets.Option,
) error

MovePath moves a particular path to another path in the existing IPFS UnixFS DAG.

func (*Client) NewTokenContext

func (c *Client) NewTokenContext(
	ctx context.Context,
	identity core.Identity,
	duration time.Duration,
) (context.Context, error)

NewTokenContext adds an identity token targeting the client's service.

func (*Client) PullIpfsPath

func (c *Client) PullIpfsPath(ctx context.Context, pth path.Path, writer io.Writer, opts ...buckets.Option) error

PullIpfsPath pulls the path from a remote UnixFS dag, writing it to writer if it's a file.

func (*Client) PullPath

func (c *Client) PullPath(
	ctx context.Context,
	thread core.ID,
	key, pth string,
	writer io.Writer,
	opts ...buckets.Option,
) error

PullPath pulls the bucket path, writing it to writer if it's a file.

func (*Client) PullPathAccessRoles

func (c *Client) PullPathAccessRoles(
	ctx context.Context,
	thread core.ID,
	key, pth string,
) (map[did.DID]collection.Role, error)

PullPathAccessRoles returns access roles for a path.

func (*Client) PullPathInfo

func (c *Client) PullPathInfo(
	ctx context.Context,
	thread core.ID,
	key, pth string,
) (map[string]interface{}, error)

PullPathInfo returns info for a path.

func (*Client) PushPathAccessRoles

func (c *Client) PushPathAccessRoles(
	ctx context.Context,
	thread core.ID,
	key, pth string,
	roles map[did.DID]collection.Role,
	opts ...buckets.Option,
) error

PushPathAccessRoles updates path access roles by merging the pushed roles with existing roles. roles is a map of string marshaled public keys to path roles. A non-nil error is returned if the map keys are not unmarshalable to public keys. To delete a role for a public key, set its value to buckets.None.

func (*Client) PushPathInfo

func (c *Client) PushPathInfo(
	ctx context.Context,
	thread core.ID,
	key, pth string,
	info map[string]interface{},
	opts ...buckets.Option,
) error

PushPathInfo updates path info by merging the pushed info with existing info.

func (*Client) PushPaths

func (c *Client) PushPaths(
	ctx context.Context,
	thread core.ID,
	key string,
	opts ...buckets.Option,
) (*PushPathsQueue, error)

PushPaths returns a queue that can be used to push multiple files and readers to bucket paths. See PushPathQueue.AddFile and PushPathsQueue.AddReader for more.

func (*Client) Remove

func (c *Client) Remove(ctx context.Context, thread core.ID, key string) error

Remove removes an entire bucket. Files and directories will be unpinned.

func (*Client) RemovePath

func (c *Client) RemovePath(
	ctx context.Context,
	thread core.ID,
	key, pth string,
	opts ...buckets.Option,
) (path.Resolved, error)

RemovePath removes the file or directory at path. Files and directories will be unpinned.

func (*Client) SetPath

func (c *Client) SetPath(
	ctx context.Context,
	thread core.ID,
	key, pth string,
	remoteCid cid.Cid,
	opts ...buckets.Option,
) (*pb.SetPathResponse, error)

SetPath set a particular path to an existing IPFS UnixFS DAG.

type PushPathsQueue

type PushPathsQueue struct {
	// Current contains the current push result.
	Current PushPathsResult
	// contains filtered or unexported fields
}

PushPathsQueue handles PushPath input and output.

func (*PushPathsQueue) AddFile

func (c *PushPathsQueue) AddFile(pth, name string) error

AddFile adds a file to the queue. pth is the location relative to the bucket root at which to insert the file, e.g., "/path/to/mybone.jpg". name is the location of the file on the local filesystem, e.g., "/Users/clyde/Downloads/mybone.jpg".

func (*PushPathsQueue) AddReader

func (c *PushPathsQueue) AddReader(pth string, r io.Reader, size int64) error

AddReader adds a reader to the queue. pth is the location relative to the bucket root at which to insert the file, e.g., "/path/to/mybone.jpg". r is the reader to read from. size is the size of the reader. Use of the WithProgress option is not recommended if the reader size is unknown.

func (*PushPathsQueue) Close

func (c *PushPathsQueue) Close() error

Close the queue. Failure to close may lead to unpredictable bucket state.

func (*PushPathsQueue) Complete

func (c *PushPathsQueue) Complete() int64

Complete returns the portion of the queue size that has been pushed.

func (*PushPathsQueue) Err

func (c *PushPathsQueue) Err() error

Err returns the current queue error. Call this method before checking the value of Current.

func (*PushPathsQueue) Next

func (c *PushPathsQueue) Next() (ok bool)

Next blocks while the queue is open, returning true when a result is ready. Use Current to access the result.

func (*PushPathsQueue) Size

func (c *PushPathsQueue) Size() int64

Size returns the queue size in bytes.

type PushPathsResult

type PushPathsResult struct {
	Path   string
	Cid    cid.Cid
	Size   int64
	Pinned int64
	Root   path.Resolved
	// contains filtered or unexported fields
}

PushPathsResult contains the result of a Push.

Jump to

Keyboard shortcuts

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