blob: 72524179e008c253edf93853415f7ec9764a0b7f [file] [log] [blame]
package provider
import (
"context"
)
type Provider struct {
}
// Provide assemble invoker chains like ProviderConfig.Load, init a service per call
func (pro *Provider) Provide(handler interface{}, info *ServiceInfo, opts ...Option) error {
// put information from info to url
// ProviderConfig.Load
// url
return nil
}
// meta
type ServiceInfo struct {
InterfaceName string
ServiceType interface{}
Methods []MethodInfo
Meta map[string]interface{}
}
type MethodInfo struct {
Name string
Type string
ReqInitFunc func() interface{}
StreamInitFunc func(baseStream interface{}) interface{}
MethodFunc func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error)
Meta map[string]interface{}
}
func NewProvider() (*Provider, error) {
return nil, nil
}