kbiakov/Anakin

View on GitHub
src/templates/client_main

Summary

Maintainability
Test Coverage
// CODE GENERATED AUTOMATICALLY BY github.com/Softwee/Anakin
package client

import (
    "golang.org/x/net/context"
    "google.golang.org/grpc"
    "sync"
    "log"

    pb "../rpc"
)

const addr = "{{.Host}}:{{.Port}}"

var client *pb.{{.Service}}Client

func Get{{.Service}}ClientInstance() pb.{{.Service}}Client {
    sync.Once.Do(func() {
        client = &new{{.Service}}Client()
    })

    return client
}

func new{{.Service}}Client() *pb.{{.Service}}Client {
    // set up a connection to the server
    conn, err := grpc.Dial(addr, grpc.WithInsecure())
    if err != nil {
        log.Fatalf("did not connect: %v", err)
    }
    defer conn.Close()
    
    return &pb.New{{.Service}}Client(conn)
}

{{.Methods}}