You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
721 B
32 lines
721 B
package rpcclient
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry"
|
|
"google.golang.org/grpc"
|
|
)
|
|
|
|
type MetaClient struct {
|
|
// contains filtered or unexported fields
|
|
client discoveryregistry.SvcDiscoveryRegistry
|
|
rpcRegisterName string
|
|
}
|
|
|
|
func NewMetaClient(client discoveryregistry.SvcDiscoveryRegistry, rpcRegisterName string, opts ...MetaClientOptions) *MetaClient {
|
|
c := &MetaClient{
|
|
client: client,
|
|
rpcRegisterName: rpcRegisterName,
|
|
}
|
|
for _, opt := range opts {
|
|
opt(c)
|
|
}
|
|
return c
|
|
}
|
|
|
|
type MetaClientOptions func(*MetaClient)
|
|
|
|
func (m *MetaClient) getConn(ctx context.Context) (*grpc.ClientConn, error) {
|
|
return m.client.GetConn(ctx, m.rpcRegisterName)
|
|
}
|