Documentation ¶
Overview ¶
Package util is a generated protocol buffer package.
It is generated from these files:
cockroach/util/unresolved_addr.proto
It has these top-level messages:
UnresolvedAddr
Index ¶
- Constants
- Variables
- func CleanupDir(dir string)
- func CleanupDirs(dirs []string)
- func CreateNTempDirs(t Tester, prefix string, n int) []string
- func CreateRestrictedFile(t Tester, contents []byte, tempdir, name string) (string, func())
- func CreateTempDir(t Tester, prefix string) string
- func CreateTestAddr(network string) net.Addr
- func EnsureHostPort(addr string) string
- func Errorf(format string, a ...interface{}) error
- func ErrorfSkipFrames(skip int, format string, a ...interface{}) error
- func GetContentType(request *http.Request) string
- func GetJSON(httpClient *http.Client, scheme, hostport, path string, v interface{}) error
- func IsClosedConnection(err error) bool
- func IsTrueWithin(trueFunc func() bool, duration time.Duration) error
- func ListenAndServe(stopper *stop.Stopper, handler http.Handler, addr net.Addr, config *tls.Config) (net.Listener, error)
- func MarshalResponse(r *http.Request, value interface{}, allowed []EncodingType) (body []byte, contentType string, err error)
- func NoZeroField(v interface{}) error
- func Panics(f func()) (panics bool)
- func RetryForDuration(duration time.Duration, fn func() error) error
- func SucceedsWithin(t Tester, duration time.Duration, fn func() error)
- func SucceedsWithinDepth(depth int, t Tester, duration time.Duration, fn func() error)
- func TruncateDuration(d time.Duration, r time.Duration) time.Duration
- func UnmarshalRequest(r *http.Request, body []byte, value interface{}, allowed []EncodingType) error
- type BuildInfo
- type EncodingType
- type Feed
- type Tester
- type UnresolvedAddr
- 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
Constants ¶
const ( // AcceptHeader is the canonical header name for accept. AcceptHeader = "Accept" // AcceptEncodingHeader is the canonical header name for accept encoding. AcceptEncodingHeader = "Accept-Encoding" // ContentEncodingHeader is the canonical header name for content type. ContentEncodingHeader = "Content-Encoding" // ContentTypeHeader is the canonical header name for content type. ContentTypeHeader = "Content-Type" // JSONContentType is the JSON content type. JSONContentType = "application/json" // AltJSONContentType is the alternate JSON content type. AltJSONContentType = "application/x-json" // ProtoContentType is the protobuf content type. ProtoContentType = "application/x-protobuf" // AltProtoContentType is the alternate protobuf content type. AltProtoContentType = "application/x-google-protobuf" // YAMLContentType is the YAML content type. YAMLContentType = "text/yaml" // AltYAMLContentType is the alternate YAML content type. AltYAMLContentType = "application/x-yaml" // PlaintextContentType is the plaintext content type. PlaintextContentType = "text/plain" // SnappyEncoding is the snappy encoding. SnappyEncoding = "snappy" // GzipEncoding is the gzip encoding. GzipEncoding = "gzip" )
Variables ¶
var ( ErrInvalidLengthUnresolvedAddr = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowUnresolvedAddr = fmt.Errorf("proto: integer overflow") )
var AllEncodings = []EncodingType{JSONEncoding, ProtoEncoding, YAMLEncoding}
AllEncodings includes all supported encodings.
Functions ¶
func CleanupDir ¶
func CleanupDir(dir string)
CleanupDir removes the passed-in directory and all contents. Errors are ignored.
func CleanupDirs ¶
func CleanupDirs(dirs []string)
CleanupDirs removes all passed-in directories and their contents. Errors are ignored.
func CreateNTempDirs ¶
CreateNTempDirs creates N temporary directories and returns a slice of paths. You should usually call defer CleanupDirs(dirs) right after.
func CreateRestrictedFile ¶
CreateRestrictedFile creates a file on disk which contains the supplied byte string as its content. The resulting file will have restrictive permissions; specifically, u=rw (0600). Returns the path of the created file along with a function that will delete the created file.
This is needed for some Go libraries (e.g. postgres SQL driver) which will refuse to open certificate files that have overly permissive permissions.
func CreateTempDir ¶
CreateTempDir creates a temporary directory and returns its path. You should usually call defer CleanupDir(dir) right after.
func CreateTestAddr ¶
CreateTestAddr creates an unused address for testing. The "network" parameter should be one of "tcp" or "unix".
func EnsureHostPort ¶
EnsureHostPort takes a host:port pair, where the host and port are optional. If host and port are present, the output is equal to the input. If port is not present, use default port 26257. If host is not present, host will be equal to the hostname (or "127.0.0.1" as a fallback).
func Errorf ¶
Errorf is a passthrough to fmt.Errorf, with an additional prefix containing the filename and line number.
func ErrorfSkipFrames ¶
ErrorfSkipFrames allows the skip count for stack frames to be specified. This is useful when generating errors via helper methods. Skip should be specified as the number of additional stack frames between the location at which the error is caused and the location at which the error is generated.
func GetContentType ¶
GetContentType pulls out the content type from a request header it ignores every value after the first semicolon
func GetJSON ¶
GetJSON uses the supplied client to retrieve the URL specified by the parameters and unmarshals the result into the supplied interface.
func IsClosedConnection ¶
IsClosedConnection returns true if err is the net package's errClosed.
func IsTrueWithin ¶
IsTrueWithin returns an error if the supplied function fails to evaluate to true within the specified duration. The function is invoked immediately at first and then successively with an exponential backoff starting at 1ns and ending at the specified duration.
This method is deprecated; use SucceedsWithin instead. TODO(bdarnell): convert existing uses of IsTrueWithin to SucceedsWithin.
func ListenAndServe ¶
func ListenAndServe(stopper *stop.Stopper, handler http.Handler, addr net.Addr, config *tls.Config) (net.Listener, error)
ListenAndServe creates a listener and serves handler on it, closing the listener when signalled by the stopper.
func MarshalResponse ¶
func MarshalResponse(r *http.Request, value interface{}, allowed []EncodingType) ( body []byte, contentType string, err error)
MarshalResponse examines the request Accept header to determine the client's preferred response encoding. Supported content types include JSON, protobuf, and YAML. If the Accept header is not available, the Content-Type header specifying the request encoding is used. The value parameter is marshalled using the response encoding and the resulting body and content type are returned. If the encoding could not be determined by either header, the response is marshalled using JSON. Falls back to JSON when the protobuf format cannot be used for the given value.
func NoZeroField ¶
func NoZeroField(v interface{}) error
NoZeroField returns nil if none of the fields of the struct underlying the interface are equal to the zero value, and an error otherwise. It will panic if the struct has unexported fields and for any non-struct.
func Panics ¶
func Panics(f func()) (panics bool)
Panics calls the supplied function and returns true if and only if it panics.
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 SucceedsWithin ¶
SucceedsWithin fails the test (with t.Fatal) unless the supplied function runs without error within the specified duration. The function is invoked immediately at first and then successively with an exponential backoff starting at 1ns and ending at the specified duration.
func SucceedsWithinDepth ¶
SucceedsWithinDepth is like SucceedsWithin() but with an additional stack depth offset.
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 UnmarshalRequest ¶
func UnmarshalRequest(r *http.Request, body []byte, value interface{}, allowed []EncodingType) error
UnmarshalRequest examines the request Content-Type header in order to determine the encoding of the supplied body. Supported content types include:
JSON - {"application/json", "application/x-json"} Protobuf - {"application/x-protobuf", "application/x-google-protobuf"} YAML - {"text/yaml", "application/x-yaml"}
The body is unmarshalled into the supplied value parameter. An error is returned on an unmarshalling error or on an unsupported content type.
Types ¶
type BuildInfo ¶
type BuildInfo struct { Vers string `json:"goVersion"` Tag string `json:"tag"` Time string `json:"time"` Deps string `json:"dependencies"` }
BuildInfo ...
type EncodingType ¶
type EncodingType int
EncodingType is an enum describing available encodings.
const ( // JSONEncoding includes application/json and application/x-json. JSONEncoding EncodingType = iota // ProtoEncoding includes application/x-protobuf and application/x-google-protobuf. ProtoEncoding // YAMLEncoding includes text/yaml and application/x-yaml. YAMLEncoding )
type Feed ¶
type Feed struct {
// contains filtered or unexported fields
}
A Feed is used to publish a stream of events to a set of Subscribers. Events are values of arbitrary type, and are received and published as an empty interface. Each Subscriber will receive, in order, each entry published to the Feed.
Entries are published by via the Publish method of the Feed. Slow subscribers can cause this to block, so it is the subscriber's responsibility not to congest the Feed.
A Feed can be initialized by simply instantiating an empty feed object:
feed := NewFeed(stopper) feed.subscribe(func(event interface{}) { doStuff(event) }) feed.Publish(someEvent())
The Feed does not keep historical events; individual Subscribers will only receive events published after they Subscribe.
func (*Feed) Flush ¶
func (f *Feed) Flush()
Flush blocks until all events published before the call to Flush are consumed.
type Tester ¶
type Tester interface { Error(args ...interface{}) Failed() bool Fatal(args ...interface{}) Fatalf(format string, args ...interface{}) }
Tester is a proxy for e.g. testing.T which does not introduce a dependency on "testing".
type UnresolvedAddr ¶
type UnresolvedAddr struct { NetworkField string `protobuf:"bytes,1,opt,name=network_field" json:"network"` AddressField string `protobuf:"bytes,2,opt,name=address_field" json:"address"` }
/ UnresolvedAddr is an unresolved version of net.Addr.
func MakeUnresolvedAddr ¶
func MakeUnresolvedAddr(network string, str string) UnresolvedAddr
MakeUnresolvedAddr creates a new UnresolvedAddr from a network and raw address string.
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
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 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. |