Documentation ¶
Overview ¶
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.
Index ¶
- Constants
- func DynamicPluginFunc(pn PluginType, funcName string) pg.Symbol
- func LoadPlugins()
- func RegisterPlugin(p *Plugin)
- func SetPluginConfig(key, val string)
- func ToSCConfig(opts ...SCConfigOption) client.Config
- type Adaptor
- type Manager
- type Plugin
- type PluginInstance
- type PluginType
- type SCConfigOption
- func WithEndpoints(endpoints []string) SCConfigOption
- func WithTLSCAFile(tlsCAFile string) SCConfigOption
- func WithTLSCertFile(tlsCertFile string) SCConfigOption
- func WithTLSEnabled(tlsEnabled bool) SCConfigOption
- func WithTLSKeyFile(tlsKeyFile string) SCConfigOption
- func WithTLSPassphrase(tlsPassphrase string) SCConfigOption
- func WithTLSVerifyPeer(tlsVerifyPeer bool) SCConfigOption
- type Servicecenter
Constants ¶
const ( PluginServicecenter PluginType = iota BUILDIN = "buildin" STATIC = "static" DYNAMIC = "dynamic" )
Variables ¶
This section is empty.
Functions ¶
func DynamicPluginFunc ¶
func DynamicPluginFunc(pn PluginType, funcName string) pg.Symbol
func LoadPlugins ¶
func LoadPlugins()
func RegisterPlugin ¶
func RegisterPlugin(p *Plugin)
func SetPluginConfig ¶
func SetPluginConfig(key, val string)
func ToSCConfig ¶
func ToSCConfig(opts ...SCConfigOption) client.Config
Types ¶
type Adaptor ¶
type Adaptor interface {
New(opts ...SCConfigOption) (Servicecenter, error)
}
Adaptor the plugin adaptor of repository
type Manager ¶
type Manager map[PluginType]*pluginMap
func (Manager) Instance ¶
func (m Manager) Instance(pn PluginType) PluginInstance
func (Manager) New ¶
func (m Manager) New(pn PluginType)
func (Manager) Servicecenter ¶
type Plugin ¶
type Plugin struct { Kind PluginType Name string New func() PluginInstance }
type PluginInstance ¶
type PluginInstance interface{}
type PluginType ¶
type PluginType int
func (PluginType) String ¶
func (p PluginType) String() string
type SCConfigOption ¶
type SCConfigOption func(*scOption)
func WithEndpoints ¶
func WithEndpoints(endpoints []string) SCConfigOption
func WithTLSCAFile ¶
func WithTLSCAFile(tlsCAFile string) SCConfigOption
func WithTLSCertFile ¶
func WithTLSCertFile(tlsCertFile string) SCConfigOption
func WithTLSEnabled ¶
func WithTLSEnabled(tlsEnabled bool) SCConfigOption
func WithTLSKeyFile ¶
func WithTLSKeyFile(tlsKeyFile string) SCConfigOption
func WithTLSPassphrase ¶
func WithTLSPassphrase(tlsPassphrase string) SCConfigOption
func WithTLSVerifyPeer ¶
func WithTLSVerifyPeer(tlsVerifyPeer bool) SCConfigOption
type Servicecenter ¶
type Servicecenter interface { GetAll(ctx context.Context) (*pb.SyncData, error) CreateService(ctx context.Context, domainProject string, service *pb.SyncService) (string, error) DeleteService(ctx context.Context, domainProject, serviceId string) error ServiceExistence(ctx context.Context, domainProject string, service *pb.SyncService) (string, error) RegisterInstance(ctx context.Context, domainProject, serviceId string, instance *pb.SyncInstance) (string, error) UnregisterInstance(ctx context.Context, domainProject, serviceId, instanceId string) error Heartbeat(ctx context.Context, domainProject, serviceId, instanceId string) error }
Servicecenter servicecenter interface
Directories ¶
Path | Synopsis |
---|---|
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.
|
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. |
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.
|
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. |