Documentation ¶
Overview ¶
Package util is a generated protocol buffer package.
It is generated from these files:
cockroach/pkg/util/unresolved_addr.proto
It has these top-level messages:
UnresolvedAddr
Index ¶
- Variables
- func EqualPtrFields(src, dst reflect.Value, prefix string) []string
- func GetSmallTrace(skip int) string
- func MoveTopKToFront(data sort.Interface, k int)
- func Pluralize(n int64) string
- func RetryForDuration(duration time.Duration, fn func() error) error
- func RoundUpPowerOfTwo(x int64) int64
- func TruncateDuration(d time.Duration, r time.Duration) time.Duration
- func UnimplementedWithIssueErrorf(issue int, msg string, args ...interface{}) error
- type NoCopy
- type UnimplementedWithIssueError
- type UnresolvedAddr
- func (*UnresolvedAddr) Descriptor() ([]byte, []int)
- func (a UnresolvedAddr) IsEmpty() bool
- func (m *UnresolvedAddr) Marshal() (dAtA []byte, err error)
- func (m *UnresolvedAddr) MarshalTo(dAtA []byte) (int, error)
- func (a *UnresolvedAddr) Network() string
- func (*UnresolvedAddr) ProtoMessage()
- func (m *UnresolvedAddr) Reset()
- func (a UnresolvedAddr) Resolve() (net.Addr, error)
- func (m *UnresolvedAddr) Size() (n int)
- func (a *UnresolvedAddr) String() string
- func (m *UnresolvedAddr) Unmarshal(dAtA []byte) error
- type WaitGroupWithError
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidLengthUnresolvedAddr = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowUnresolvedAddr = fmt.Errorf("proto: integer overflow") )
var TestAddr = NewUnresolvedAddr("tcp", "127.0.0.1:0")
TestAddr is an address to use for test servers. Listening on port 0 causes the kernel to allocate an unused port.
Functions ¶
func EqualPtrFields ¶
EqualPtrFields uses reflection to check two "mirror" structures for matching pointer fields that point to the same object. Used to verify cloning/deep copy functions.
func GetSmallTrace ¶
GetSmallTrace produces a ":"-separated single line containing the topmost 5 callers from a given skip level.
func MoveTopKToFront ¶
MoveTopKToFront moves the top K elements to the front. It makes O(n) calls to data.Less and data.Swap (with very high probability). It uses Hoare's selection algorithm (aka quickselect).
func RetryForDuration ¶
RetryForDuration will retry the given function until it either returns without error, or the given duration has elapsed. The function is invoked immediately at first and then successively with an exponential backoff starting at 1ns and ending at the specified duration.
func RoundUpPowerOfTwo ¶
RoundUpPowerOfTwo returns the first power of 2 greater or equal to the number. Source: http://graphics.stanford.edu/%7Eseander/bithacks.html#RoundUpPowerOf2
func TruncateDuration ¶
TruncateDuration returns a new duration obtained from the first argument by discarding the portions at finer resolution than that given by the second argument. Example: TruncateDuration(time.Second+1, time.Second) == time.Second.
func UnimplementedWithIssueErrorf ¶
UnimplementedWithIssueErrorf constructs an UnimplementedWithIssueError with the provided issue and formatted message.
Types ¶
type NoCopy ¶
type NoCopy struct{}
NoCopy may be embedded into structs which must not be copied after the first use.
See https://github.com/golang/go/issues/8005#issuecomment-190753527 for details.
type UnimplementedWithIssueError ¶
type UnimplementedWithIssueError struct {
// contains filtered or unexported fields
}
UnimplementedWithIssueError is an error that links unimplemented functionality back to its issue on GitHub.
func (UnimplementedWithIssueError) Error ¶
func (e UnimplementedWithIssueError) Error() string
type UnresolvedAddr ¶
type UnresolvedAddr struct { NetworkField string `protobuf:"bytes,1,opt,name=network_field,json=networkField" json:"network_field"` AddressField string `protobuf:"bytes,2,opt,name=address_field,json=addressField" json:"address_field"` }
/ UnresolvedAddr is an unresolved version of net.Addr.
var IsolatedTestAddr *UnresolvedAddr
IsolatedTestAddr is an address to use for tests that need extra isolation by using more addresses than 127.0.0.1 (support for this is platform-specific and only enabled on Linux). Both TestAddr and IsolatedTestAddr guarantee that the chosen port is not in use when allocated, but IsolatedTestAddr draws from a larger pool of addresses so that when tests are run in a tight loop the system is less likely to run out of available ports or give a port to one test immediately after it was closed by another.
IsolatedTestAddr should be used for tests that open and close a large number of sockets, or tests which stop a server and rely on seeing a "connection refused" error afterwards. It cannot be used with tests that operate in secure mode since our test certificates are only valid for 127.0.0.1.
func MakeUnresolvedAddr ¶
func MakeUnresolvedAddr(network, addr string) UnresolvedAddr
MakeUnresolvedAddr populates an UnresolvedAddr from a network and raw address string.
func NewUnresolvedAddr ¶
func NewUnresolvedAddr(network, addr string) *UnresolvedAddr
NewUnresolvedAddr creates a new UnresolvedAddr from a network and raw address string.
func (*UnresolvedAddr) Descriptor ¶
func (*UnresolvedAddr) Descriptor() ([]byte, []int)
func (UnresolvedAddr) IsEmpty ¶
func (a UnresolvedAddr) IsEmpty() bool
IsEmpty returns true if the address has no network or address specified.
func (*UnresolvedAddr) Marshal ¶
func (m *UnresolvedAddr) Marshal() (dAtA []byte, err error)
func (*UnresolvedAddr) Network ¶
func (a *UnresolvedAddr) Network() string
Network returns the address's network name.
func (*UnresolvedAddr) ProtoMessage ¶
func (*UnresolvedAddr) ProtoMessage()
func (*UnresolvedAddr) Reset ¶
func (m *UnresolvedAddr) Reset()
func (UnresolvedAddr) Resolve ¶
func (a UnresolvedAddr) Resolve() (net.Addr, error)
Resolve attempts to resolve a into a net.Addr.
func (*UnresolvedAddr) Size ¶
func (m *UnresolvedAddr) Size() (n int)
func (*UnresolvedAddr) String ¶
func (a *UnresolvedAddr) String() string
String returns the address's string form.
func (*UnresolvedAddr) Unmarshal ¶
func (m *UnresolvedAddr) Unmarshal(dAtA []byte) error
type WaitGroupWithError ¶
type WaitGroupWithError struct {
// contains filtered or unexported fields
}
WaitGroupWithError is a sync.WaitGroup that also tracks the errors that are generated in associated asynchronous work.
Example usage: var wg WaitGroupWithError
for _ := range bar { wg.Add(1) go func() { wg.Done(maybeError()) } }
err := wg.Wait()
func (*WaitGroupWithError) Add ¶
func (wg *WaitGroupWithError) Add(delta int)
Add adds delta, which may be negative, to the WaitGroup counter. If the counter becomes zero, all goroutines blocked on Wait are released. If the counter goes negative, Add panics.
func (*WaitGroupWithError) Done ¶
func (wg *WaitGroupWithError) Done(err error)
Done decrements the WaitGroup counter and records the error if non-nil.
func (*WaitGroupWithError) Wait ¶
func (wg *WaitGroupWithError) Wait() error
Wait blocks until the WaitGroup counter is zero. It returns a summary of the errors that were passed to Done(err) calls (if any).
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package hlc implements the Hybrid Logical Clock outlined in "Logical Physical Clocks and Consistent Snapshots in Globally Distributed Databases", available online at http://www.cse.buffalo.edu/tech-reports/2014-04.pdf.
|
Package hlc implements the Hybrid Logical Clock outlined in "Logical Physical Clocks and Consistent Snapshots in Globally Distributed Databases", available online at http://www.cse.buffalo.edu/tech-reports/2014-04.pdf. |
Package interval implements an interval tree based on an augmented Left-Leaning Red Black tree.
|
Package interval implements an interval tree based on an augmented Left-Leaning Red Black tree. |
Package leaktest provides tools to detect leaked goroutines in tests.
|
Package leaktest provides tools to detect leaked goroutines in tests. |
Package log implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
|
Package log implements logging analogous to the Google-internal C++ INFO/ERROR/V setup. |
Package metric provides server metrics (a.k.a.
|
Package metric provides server metrics (a.k.a. |
Package sdnotify implements both sides of the systemd readiness protocol.
|
Package sdnotify implements both sides of the systemd readiness protocol. |
Package tracing is a generated protocol buffer package.
|
Package tracing is a generated protocol buffer package. |