rpcutil

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 6, 2022 License: Apache-2.0, MIT, Apache-2.0, + 1 more Imports: 5 Imported by: 0

Documentation

Overview

Package rpcutil provides utility methods to perform go-libp2p-gorpc calls, particularly gorpc.MultiCall().

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckErrs added in v0.5.0

func CheckErrs(errs []error) error

CheckErrs returns nil if all the errors in a slice are nil, otherwise it returns a single error formed by joining the error messages existing in the slice with a line-break.

func CopyEmptyStructToIfaces

func CopyEmptyStructToIfaces(in []struct{}) []interface{}

CopyEmptyStructToIfaces converts an empty struct slice to an empty interface slice using pointers to each elements of the original slice. Useful to handle gorpc.MultiCall() replies.

func CopyIDSliceToIfaces added in v0.10.0

func CopyIDSliceToIfaces(in [][]api.ID) []interface{}

CopyIDSliceToIfaces converts an api.ID slice of slices to an empty interface slice using pointers to each elements of the original slice. Useful to handle gorpc.MultiCall() replies.

func CopyIDsToIfaces added in v0.10.0

func CopyIDsToIfaces(in []api.ID) []interface{}

CopyIDsToIfaces converts an api.ID slice to an empty interface slice using pointers to each elements of the original slice. Useful to handle gorpc.MultiCall() replies.

func CopyPinInfoSliceToIfaces added in v0.10.0

func CopyPinInfoSliceToIfaces(in [][]api.PinInfo) []interface{}

CopyPinInfoSliceToIfaces converts an api.PinInfo slice of slices to an empty interface slice using pointers to each elements of the original slice. Useful to handle gorpc.MultiCall() replies.

func CopyPinInfoToIfaces added in v0.10.0

func CopyPinInfoToIfaces(in []api.PinInfo) []interface{}

CopyPinInfoToIfaces converts an api.PinInfo slice to an empty interface slice using pointers to each elements of the original slice. Useful to handle gorpc.MultiCall() replies.

func CopyRepoGCSliceToIfaces added in v0.12.0

func CopyRepoGCSliceToIfaces(in []api.RepoGC) []interface{}

CopyRepoGCSliceToIfaces converts an api.RepoGC slice to an empty interface slice using pointers to each elements of the original slice. Useful to handle gorpc.MultiCall() replies.

func CtxsWithCancel

func CtxsWithCancel(
	parent context.Context,
	n int,
) ([]context.Context, []context.CancelFunc)

CtxsWithCancel returns n cancellable contexts, derived from the given parent.

func CtxsWithTimeout

func CtxsWithTimeout(
	parent context.Context,
	n int,
	timeout time.Duration,
) ([]context.Context, []context.CancelFunc)

CtxsWithTimeout returns n contexts, derived from the given parent using the given timeout.

func MultiCancel

func MultiCancel(cancels []context.CancelFunc)

MultiCancel calls all the provided CancelFuncs. It is useful with "defer Multicancel()"

func RPCDiscardReplies

func RPCDiscardReplies(n int) []interface{}

RPCDiscardReplies returns a []interface{} slice made from a []struct{} slice of then given length. Useful for RPC methods which have no response types (so they use empty structs).

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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