hack

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2022 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DisableProtoBufRandomness

func DisableProtoBufRandomness()

DisableProtoBufRandomness disables the random insertion of whitespace characters when serializing Protocol Buffers in textual form (both when serializing to JSON or to ProtoText)

Since the introduction of the APIv2 for Protocol Buffers, the default serializers in the package insert random whitespace characters that don't change the meaning of the serialized code but make byte-wise comparison impossible. The rationale behind this decision is as follows:

"The ProtoBuf authors believe that golden tests are Wrong"

Fine. Unfortunately, Vitess makes extensive use of golden tests through its test suite, which expect byte-wise comparison to be stable between test runs. Using the new version of the package would require us to rewrite hundreds of tests, or alternatively, we could disable the randomness and call it a day. The method required to disable the randomness is not public, but that won't stop us because we're good at computers.

func ParseFloatPrefix

func ParseFloatPrefix(s string, bitSize int) (float64, int, error)

func RuntimeAllocSize

func RuntimeAllocSize(size int64) int64

RuntimeAllocSize returns size of the memory block that mallocgc will allocate if you ask for the size.

func RuntimeMemhash

func RuntimeMemhash(b []byte, seed uint64) uint64

RuntimeMemhash provides access to the Go runtime's default hash function for arbitrary bytes. This is an optimal hash function which takes an input seed and is potentially implemented in hardware for most architectures. This is the same hash function that the language's `map` uses.

func RuntimeStrhash

func RuntimeStrhash(str string, seed uint64) uint64

RuntimeStrhash provides access to the Go runtime's default hash function for strings. This is an optimal hash function which takes an input seed and is potentially implemented in hardware for most architectures. This is the same hash function that the language's `map` uses.

func String

func String(b []byte) (s string)

String force casts a []byte to a string. USE AT YOUR OWN RISK

func StringBytes

func StringBytes(s string) []byte

StringBytes returns the underlying bytes for a string. Modifying this byte slice will lead to undefined behavior.

func StringClone

func StringClone(s string) string

StringClone returns a newly allocated copy of the string that doesn't share its underlying memory storage.

func StringPointer

func StringPointer(s string) unsafe.Pointer

StringPointer returns &s[0], which is not allowed in go

Types

This section is empty.

Jump to

Keyboard shortcuts

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