package ProtoHandler import ( "golang.org/x/net/context" "google.golang.org/grpc" proto "lotus-pm.net/proto" "lpm-cli/Lotus" "time" ) type ProtoWrapper struct{} func (protoWrap ProtoWrapper) CreateConnection(address string) *grpc.ClientConn { logger := Lotus.DetailedLogger("ProtoHandler", "createConnection") conn, err := grpc.Dial(address, grpc.WithInsecure()) if err != nil { logger.Fatal(err) } return conn } func (protoWrap ProtoWrapper) CreateRegistryClient(conn *grpc.ClientConn) (proto.LpmRegistryClient, context.Context, context.CancelFunc) { lrc := proto.NewLpmRegistryClient(conn) ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) return lrc, ctx, cancel } func (protoWrap ProtoWrapper) ParsePackages(res *proto.SearchResponse, reg Lotus.Registry) []Package { var packages []Package for _, pkg := range res.GetPackages() { var tmpMeta PackageMetadata tmpMeta.FillMetadata(pkg) packages = append(packages, Package{ PackageMetadata: tmpMeta, Register: Lotus.Registry{ Register: reg.Register, Address: reg.Address, }, }) } return packages }