package
0.1.0
Repository: https://github.com/leeson1995/go-common.git
Documentation: pkg.go.dev

# README

Usage

default

import (
    "context"
    "fmt"

    "google.golang.org/grpc"
    pb "google.golang.org/grpc/examples/helloworld/helloworld"
)

func main() {
    var addr, name string
    conn, _ := grpc.Dial(addr, grpc.WithInsecure())
    defer conn.Close()
    client := pb.NewGreeterClient(conn)
    r, _ := client.SayHello(context.Background(), &pb.HelloRequest{Name: name})
    fmt.Println(r.GetMessage())
}

with grpcp

import (
    "context"
    "fmt"

    "google.golang.org/grpc"
    pb "google.golang.org/grpc/examples/helloworld/helloworld"
)

func main() {
    var addr, name string

    conn, _ := grpcp.GetConn(addr)  // get conn with grpcp default pool
    // defer conn.Close()  // no close, close will disconnect
    client := pb.NewGreeterClient(conn)
    r, _ := client.SayHello(context.Background(), &pb.HelloRequest{Name: name})
    fmt.Println(r.GetMessage())
}

custom dial function

import (
    "context"
    "fmt"

    "github.com/leeson1995/go-common/grpcp"
    "google.golang.org/grpc"
    pb "google.golang.org/grpc/examples/helloworld/helloworld"
)

func main() {
    var addr, name string

    pool := grpcp.New(func(addr string) (*grpc.ClientConn, error) {
        return grpc.Dial(
            addr,
            grpc.WithInsecure(),
        )
    })
    conn, _ := pool.GetConn(addr)

    client := pb.NewGreeterClient(conn)
    r, _ := client.SayHello(context.Background(), &pb.HelloRequest{Name: name})
    fmt.Println(r.GetMessage())
}

# Functions

Alives current live connections from default pool.
CustomReadyCheck custom ready check function.
Dial force to create new connection from default pool, this operation will close old connection!.
GetConn create or get an existing connection from default pool.
New initialization ConnectionTracker.
SetCheckReadyTimeout custom checkReadyTimeout.
SetHeartbeatInterval custom heartbeatInterval.
SetTimeout custom timeout.

# Structs

ConnectionTracker keep connections and maintain their status.

# Type aliases

DialFunc dial function.
ReadyCheckFunc check conn is ready function.
TrackerOption initialization options.