identity

package
v0.0.0-...-f0983eb Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2016 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package identity provides functionality for generating and manager identifiers within swarm. This includes entity identification, such as that of Service, Task and Network but also cryptographically-secure Node identity.

Random Identifiers

Identifiers provided by this package are cryptographically-strong, random 128 bit numbers encoded in Base36. This method is preferred over UUID4 since it requires less storage and leverages the full 128 bits of entropy.

Generating an identifier is simple. Simply call the `NewID` function, check the error and proceed:

id, err := NewID()
if err != nil { /* ... handle it, please ... */ }

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatNodeID

func FormatNodeID(nodeID uint64) string

FormatNodeID converts a node ID from uint64 to string format. A string-formatted node ID looks like 1w8ynjwhcy4zd.

func NewID

func NewID() string

NewID generates a new identifier for use where random identifiers with low collision probability are required.

With the parameters in this package, the generated identifier will provide 128 bits of entropy encoded with base36. Leading padding is added if the string is less 25 bytes. We do not intend to maintain this interface, so identifiers should be treated opaquely.

func NewNodeID

func NewNodeID() string

NewNodeID generates a new identifier for identifying a node. These IDs are shorter than the IDs returned by NewID, so they can be used directly by Raft. Because they are short, they MUST be checked for collisions.

func ParseNodeID

func ParseNodeID(nodeID string) (uint64, error)

ParseNodeID converts a node ID from string format to uint64.

Types

This section is empty.

Jump to

Keyboard shortcuts

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