mirror of
https://github.com/minio/minio.git
synced 2024-12-26 23:25:54 -05:00
2aa18cafc6
With CoreDNS now supporting etcdv3 as the DNS backend, we can update our federation target to etcdv3. Users will now be able to use etcdv3 server as the federation backbone. Minio will update bucket data to etcdv3 and CoreDNS can pick that data up and serve it as bucket style DNS path.
70 lines
2.2 KiB
Go
70 lines
2.2 KiB
Go
/*
|
|
*
|
|
* Copyright 2014 gRPC authors.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*
|
|
*/
|
|
|
|
// Package naming defines the naming API and related data structures for gRPC.
|
|
// The interface is EXPERIMENTAL and may be suject to change.
|
|
//
|
|
// Deprecated: please use package resolver.
|
|
package naming
|
|
|
|
// Operation defines the corresponding operations for a name resolution change.
|
|
//
|
|
// Deprecated: please use package resolver.
|
|
type Operation uint8
|
|
|
|
const (
|
|
// Add indicates a new address is added.
|
|
Add Operation = iota
|
|
// Delete indicates an existing address is deleted.
|
|
Delete
|
|
)
|
|
|
|
// Update defines a name resolution update. Notice that it is not valid having both
|
|
// empty string Addr and nil Metadata in an Update.
|
|
//
|
|
// Deprecated: please use package resolver.
|
|
type Update struct {
|
|
// Op indicates the operation of the update.
|
|
Op Operation
|
|
// Addr is the updated address. It is empty string if there is no address update.
|
|
Addr string
|
|
// Metadata is the updated metadata. It is nil if there is no metadata update.
|
|
// Metadata is not required for a custom naming implementation.
|
|
Metadata interface{}
|
|
}
|
|
|
|
// Resolver creates a Watcher for a target to track its resolution changes.
|
|
//
|
|
// Deprecated: please use package resolver.
|
|
type Resolver interface {
|
|
// Resolve creates a Watcher for target.
|
|
Resolve(target string) (Watcher, error)
|
|
}
|
|
|
|
// Watcher watches for the updates on the specified target.
|
|
//
|
|
// Deprecated: please use package resolver.
|
|
type Watcher interface {
|
|
// Next blocks until an update or error happens. It may return one or more
|
|
// updates. The first call should get the full set of the results. It should
|
|
// return an error if and only if Watcher cannot recover.
|
|
Next() ([]*Update, error)
|
|
// Close closes the Watcher.
|
|
Close()
|
|
}
|