当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
55 Star 265 Fork 97

fagongzi / gateway
暂停

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
cluster.go 1.19 KB
一键复制 编辑 原始数据 按行查看 历史
张旭 提交于 2018-11-27 13:18 . dev: add backup
package client
import (
"github.com/fagongzi/gateway/pkg/pb"
"github.com/fagongzi/gateway/pkg/pb/metapb"
"github.com/fagongzi/gateway/pkg/pb/rpcpb"
)
// ClusterBuilder cluster builder
type ClusterBuilder struct {
c *client
value metapb.Cluster
}
// NewClusterBuilder return a cluster build
func (c *client) NewClusterBuilder() *ClusterBuilder {
return &ClusterBuilder{
c: c,
value: metapb.Cluster{},
}
}
// Use use a cluster
func (cb *ClusterBuilder) Use(value metapb.Cluster) *ClusterBuilder {
cb.value = value
return cb
}
// Name set a name
func (cb *ClusterBuilder) Name(name string) *ClusterBuilder {
cb.value.Name = name
return cb
}
// Loadbalance set a loadbalance
func (cb *ClusterBuilder) Loadbalance(lb metapb.LoadBalance) *ClusterBuilder {
cb.value.LoadBalance = lb
return cb
}
// Commit commit
func (cb *ClusterBuilder) Commit() (uint64, error) {
err := pb.ValidateCluster(&cb.value)
if err != nil {
return 0, err
}
return cb.c.putCluster(cb.value)
}
// Build build
func (cb *ClusterBuilder) Build() (*rpcpb.PutClusterReq, error) {
err := pb.ValidateCluster(&cb.value)
if err != nil {
return nil, err
}
return &rpcpb.PutClusterReq{
Cluster: cb.value,
}, nil
}
Go
1
https://gitee.com/fagongzi/gateway.git
git@gitee.com:fagongzi/gateway.git
fagongzi
gateway
gateway
v2.5.1

搜索帮助