util

package
v0.2.2-buildfails Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2015 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

package util implements various utility functions used within ipfs that do not currently have a better place to live.

Index

Constants

This section is empty.

Variables

View Source
var B58KeyConverter = b58KeyConverter{}

B58KeyConverter -- for KeyTransform datastores (static as only one obj needed)

View Source
var Debug bool

Debug is a global flag for debugging.

View Source
var ErrNoSuchLogger = errors.New("Error: No such logger")

ErrNoSuchLogger is returned when the util pkg is asked for a non existant logger

View Source
var ErrNotFound = ds.ErrNotFound

ErrNotFound is returned when a search fails to find anything

View Source
var ErrNotImplemented = errors.New("Error: not implemented yet.")

ErrNotImplemented signifies a function has not been implemented yet.

View Source
var ErrSearchIncomplete = errors.New("Error: Search Incomplete.")

ErrSeErrSearchIncomplete implies that a search type operation didnt find the expected node, but did find 'a' node.

View Source
var ErrTimeout = errors.New("Error: Call timed out.")

ErrTimeout implies that a timeout has been triggered

View Source
var LogFormats = map[string]string{
	"nocolor": "%{time:2006-01-02 15:04:05.000000} %{level} %{module} %{shortfile}: %{message}",
	"color": ansiGray + "%{time:15:04:05.000} %{color}%{level:5.5s} " + ansiBlue +
		"%{module:10.10s}: %{color:reset}%{message} " + ansiGray + "%{shortfile}%{color:reset}",
}

LogFormats is a map of formats used for our logger, keyed by name.

View Source
var TimeFormatIpfs = time.RFC3339Nano

Functions

func B58KeyEncode

func B58KeyEncode(k Key) string

B58KeyEncode returns Key in a b58 encoded string

func ContextDo

func ContextDo(ctx context.Context, f func() error) error

func ContextWithErrorLog

func ContextWithErrorLog(parent context.Context) (context.Context, <-chan error)

ContextWithErrorLog returns a copy of parent and an error channel that can be used to receive errors sent with the LogError method.

func ErrCast

func ErrCast() error

ErrCast is returned when a cast fails AND the program should not panic.

func ExpandPathnames

func ExpandPathnames(paths []string) ([]string, error)

ExpandPathnames takes a set of paths and turns them into absolute paths

func FileExists

func FileExists(filename string) bool

func FormatRFC3339

func FormatRFC3339(t time.Time) string

func GetenvBool

func GetenvBool(name string) bool

GetenvBool is the way to check an env var as a boolean

func Hash

func Hash(data []byte) mh.Multihash

Hash is the global IPFS hash function. uses multihash SHA2_256, 256 bits

func IsValidHash

func IsValidHash(s string) bool

IsValidHash checks whether a given hash is valid (b58 decodable, len > 0)

func LogError

func LogError(ctx context.Context, err error)

LogError logs the error to the owner of the context.

If this context was created with ContextWithErrorLog, then this method passes the error to context creator over an unbuffered channel.

If this context was created by other means, this method is a no-op.

func Logger

func Logger(name string) *logging.Logger

Logger retrieves a particular logger

func NewByteChanReader

func NewByteChanReader(in chan []byte) io.Reader

func NewSeededRand

func NewSeededRand(seed int64) io.Reader

func NewTimeSeededRand

func NewTimeSeededRand() io.Reader

func POut

func POut(format string, a ...interface{})

POut is a shorthand printing function to output to Stdout.

func ParseRFC3339

func ParseRFC3339(s string) (time.Time, error)

func Partition

func Partition(subject string, sep string) (string, string, string)

func RPartition

func RPartition(subject string, sep string) (string, string, string)

func SetAllLoggers

func SetAllLoggers(lvl logging.Level)

SetAllLoggers changes the logging.Level of all loggers to lvl

func SetDebugLogging

func SetDebugLogging()

SetDebugLogging calls SetAllLoggers with logging.DEBUG

func SetLogLevel

func SetLogLevel(name, level string) error

SetLogLevel changes the log level of a specific subsystem name=="*" changes all subsystems

func SetupLogging

func SetupLogging()

SetupLogging will initialize the logger backend and set the flags.

func TildeExpansion

func TildeExpansion(filename string) (string, error)

TildeExpansion expands a filename, which may begin with a tilde.

func XOR

func XOR(a, b []byte) []byte

XOR takes two byte slices, XORs them together, returns the resulting slice.

Types

type Key

type Key string

Key is a string representation of multihash for use with maps.

func B58KeyDecode

func B58KeyDecode(s string) Key

B58KeyDecode returns Key from a b58 encoded string

func KeyFromDsKey

func KeyFromDsKey(dsk ds.Key) Key

KeyFromDsKey returns a Datastore key

func (Key) B58String

func (k Key) B58String() string

B58String returns Key in a b58 encoded string

func (Key) DsKey

func (k Key) DsKey() ds.Key

DsKey returns a Datastore key

func (*Key) Loggable

func (k *Key) Loggable() map[string]interface{}

func (*Key) MarshalJSON

func (k *Key) MarshalJSON() ([]byte, error)

MarshalJSON returns a JSON-encoded Key (string)

func (Key) Pretty

func (k Key) Pretty() string

Pretty returns Key in a b58 encoded string TODO: deprecate Pretty. bad name.

func (Key) String

func (k Key) String() string

String is utililty function for printing out keys as strings (Pretty).

func (Key) ToMultihash

func (k Key) ToMultihash() mh.Multihash

func (*Key) UnmarshalJSON

func (k *Key) UnmarshalJSON(mk []byte) error

UnmarshalJSON returns a JSON-encoded Key (string)

type KeySet

type KeySet interface {
	Add(Key)
	Remove(Key)
	Keys() []Key
}

func NewKeySet

func NewKeySet() KeySet

type KeySlice

type KeySlice []Key

KeySlice is used for sorting Keys

func (KeySlice) Len

func (es KeySlice) Len() int

func (KeySlice) Less

func (es KeySlice) Less(i, j int) bool

func (KeySlice) Swap

func (es KeySlice) Swap(i, j int)

type MultiErr

type MultiErr []error

multiErr is a util to return multiple errors

func (MultiErr) Error

func (m MultiErr) Error() string

Directories

Path Synopsis
package debugerror provides ways to augment errors with additional information to allow for easier debugging.
package debugerror provides ways to augment errors with additional information to allow for easier debugging.
eventlog
loggables
Package loggables includes a bunch of transaltor functions for commonplace/stdlib objects.
Package loggables includes a bunch of transaltor functions for commonplace/stdlib objects.
ci
Package ci implements some helper functions to use during tests.
Package ci implements some helper functions to use during tests.
ci/jenkins
Package jenkins implements some helper functions to use during tests.
Package jenkins implements some helper functions to use during tests.
ci/travis
Package travis implements some helper functions to use during tests.
Package travis implements some helper functions to use during tests.

Jump to

Keyboard shortcuts

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