Documentation ¶
Overview ¶
miscellaneous small routines
Index ¶
- Constants
- func ClippedVarint64(buffer []byte, minimum int, maximum int) (int, int)
- func CopyVarint64(buffer []byte) []byte
- func EnsureAbsolute(directory string, filePath string) string
- func EnsureFileExists(name string) bool
- func FetchJSON(client *http.Client, url string, reply interface{}) error
- func FormatBytes(name string, data []byte) string
- func FromBase58(b string) []byte
- func FromVarint64(buffer []byte) (uint64, int)
- func ToBase58(b []byte) string
- func ToVarint64(value uint64) []byte
- type Connection
- type PackedConnection
Constants ¶
const Varint64MaximumBytes = 9
maximum possible number of bytes in Varint64
Variables ¶
This section is empty.
Functions ¶
func ClippedVarint64 ¶ added in v0.8.0
return a positive clipped value as an int any value outside the range minimum..maximum is an error
func CopyVarint64 ¶
make a copy of a Varint64 from the beginning of a buffer
func EnsureAbsolute ¶ added in v0.2.0
ensure the path is absolute if not, prepend the directory to make absolute path
func EnsureFileExists ¶ added in v0.2.0
check if file exists
func FormatBytes ¶ added in v0.2.0
for dumping the expected hex used by some test routines
func FromBase58 ¶
FromBase58 decodes a modified base58 string to a byte slice.
func FromVarint64 ¶
convert an array of up to Varint64MaximumBytes to a uint64
also return the number of bytes used as second value returns 0, 0 if varint64 buffer is truncated
func ToVarint64 ¶
convert a 64 bit unsigned integer to Varint64
Structure of the result byte 1: ext | B06 | B05 | B04 | B03 | B02 | B01 | B00 byte 2: ext | B13 | B12 | B11 | B10 | B09 | B08 | B07 byte 3: ext | B20 | B19 | B18 | B17 | B16 | B15 | B14 byte 4: ext | B27 | B26 | B25 | B24 | B23 | B22 | B21 byte 5: ext | B34 | B33 | B32 | B31 | B30 | B29 | B28 byte 6: ext | B41 | B40 | B39 | B38 | B37 | B36 | B35 byte 7: ext | B48 | B47 | B46 | B45 | B44 | B43 | B42 byte 8: ext | B55 | B54 | B53 | B52 | B51 | B50 | B49 byte 9: B63 | B62 | B61 | B60 | B59 | B58 | B57 | B56
Types ¶
type Connection ¶ added in v0.2.0
type Connection struct {
// contains filtered or unexported fields
}
type to hold an IP and Port
func ConnectionFromIPandPort ¶ added in v0.2.0
func ConnectionFromIPandPort(ip net.IP, port uint16) *Connection
convert an IP and port to a connection
func NewConnection ¶ added in v0.2.0
func NewConnection(hostPort string) (*Connection, error)
decode a connection string into an IP and Port
func NewConnections ¶ added in v0.2.0
func NewConnections(hostPort []string) ([]*Connection, error)
convert an array of connections
func (*Connection) CanonicalIPandPort ¶ added in v0.2.0
func (conn *Connection) CanonicalIPandPort(prefix string) (string, bool)
make the IP:Port into canonical string
examples:
IPv4: 127.0.0.1:1234 IPv6: [::1]:1234
prefix is optional and can be empty ("") returns prefixed string and IPv6 flag
func (Connection) MarshalText ¶ added in v0.2.0
func (conn Connection) MarshalText() ([]byte, error)
convert to text for JSON
func (*Connection) Pack ¶ added in v0.2.0
func (conn *Connection) Pack() PackedConnection
pack an IP and Port into a byte buffer
func (Connection) String ¶ added in v0.2.0
func (conn Connection) String() string
basic string conversion
type PackedConnection ¶ added in v0.2.0
type PackedConnection []byte
type for packed byte buffer IP and Port
func (PackedConnection) Unpack ¶ added in v0.2.0
func (packed PackedConnection) Unpack() (*Connection, int)
unpack a byte buffer into an IP and Port returns nil if unpack fails if sucessful returns connection and number of bytes used so an array can be unpacked more easily
func (PackedConnection) Unpack46 ¶ added in v0.8.1
func (packed PackedConnection) Unpack46() (*Connection, *Connection)
unpack first IPv4 and first IPv6 plus Port