rpcutil

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2019 License: Apache-2.0, MIT Imports: 6 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 CopyPIDsToIfaces

func CopyPIDsToIfaces(in []peer.ID) []interface{}

CopyPIDsToIfaces converts a peer.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 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.

Jump to

Keyboard shortcuts

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