oceanbase
46 строк · 1.5 Кб
1/**
2* Copyright (c) 2021 OceanBase
3* OceanBase CE is licensed under Mulan PubL v2.
4* You can use this software according to the terms and conditions of the Mulan PubL v2.
5* You may obtain a copy of Mulan PubL v2 at:
6* http://license.coscl.org.cn/MulanPubL-2.0
7* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10* See the Mulan PubL v2 for more details.
11*/
12
13package model
14
15type ObRootServiceInfo struct {
16ObClusterId int64 `json:"ObClusterId"`
17ObRegionId int64 `json:"ObRegionId"`
18ObCluster string `json:"ObCluster"`
19ObRegion string `json:"ObRegion"`
20ReadonlyRsList []*ObServerInfo `json:"ReadonlyRsList"`
21RsList []*ObServerInfo `json:"RsList"`
22Type string `json:"Type"`
23TimeStamp int64 `json:"timestamp"`
24}
25
26type ObServerInfo struct {
27Address string `json:"address"`
28Role string `json:"role"`
29SqlPort int `json:"sql_port"`
30}
31
32func (r *ObRootServiceInfo) Fill() {
33// fill ob cluster and ob region with real
34if len(r.ObCluster) > 0 {
35r.ObRegion = r.ObCluster
36} else if len(r.ObRegion) > 0 {
37r.ObCluster = r.ObRegion
38}
39
40// fill ob cluster id and ob region id with real
41if r.ObClusterId > 0 {
42r.ObRegionId = r.ObClusterId
43} else if r.ObRegionId > 0 {
44r.ObClusterId = r.ObRegionId
45}
46}
47