refactoring rpc client package.

This commit is contained in:
greg stone
2023-02-23 21:22:19 +00:00
parent bd62d2140f
commit 82c575ddca
3 changed files with 22 additions and 18 deletions

View File

@@ -6,6 +6,7 @@ import (
"git-indra.lan/indra-labs/indra/pkg/interrupt"
log2 "git-indra.lan/indra-labs/indra/pkg/proc/log"
"git-indra.lan/indra-labs/indra/pkg/rpc"
"git-indra.lan/indra-labs/indra/pkg/rpc/client"
"git-indra.lan/indra-labs/indra/pkg/seed"
"github.com/multiformats/go-multiaddr"
"github.com/spf13/cobra"
@@ -85,6 +86,8 @@ var seedCmd = &cobra.Command{
log.I.Ln("rpc server is ready")
}
client.Run(ctx)
//
// P2P
//

View File

@@ -13,19 +13,15 @@ import (
"strconv"
)
var (
tunnel tun.Device
network *netstack.Net
dev *device.Device
)
func getNetworkInstance(opts *dialOptions) (net *netstack.Net, err error) {
func getNetworkInstance(opts *dialOptions) (err error) {
var tunnel tun.Device
if tunnel, network, err = netstack.CreateNetTUN([]netip.Addr{netip.MustParseAddr(opts.peerRPCIP)}, []netip.Addr{}, 1420); check(err) {
return
if tunnel, net, err = netstack.CreateNetTUN([]netip.Addr{netip.MustParseAddr(opts.peerRPCIP)}, []netip.Addr{}, 1420); check(err) {
return nil, err
}
dev = device.NewDevice(tunnel, conn.NewDefaultBind(), device.NewLogger(device.LogLevelError, "client "))
dev := device.NewDevice(tunnel, conn.NewDefaultBind(), device.NewLogger(device.LogLevelError, "client "))
dev.SetPrivateKey(opts.key.AsDeviceKey())
@@ -39,7 +35,7 @@ func getNetworkInstance(opts *dialOptions) (err error) {
return
}
return nil
return net, nil
}
func Run(ctx context.Context) {
@@ -47,14 +43,14 @@ func Run(ctx context.Context) {
var err error
var conn *grpc.ClientConn
conn, err = Dial("unix:///tmp/indra.sock")
//conn, err = Dial("unix:///tmp/indra.sock")
//conn, err = DialContext(ctx,
// "noise://0.0.0.0:18222",
// WithPrivateKey("Aj9CfbE1pXEVxPfjSaTwdY3B4kYHbwsTSyT3nrc34ATN"),
// WithPeer("G52UmsQpUmN2zFMkJaP9rwCvqQJzi1yHKA9RTrLJTk9f"),
// WithKeepAliveInterval(5),
//)
conn, err = DialContext(ctx,
"noise://0.0.0.0:18222",
WithPrivateKey("Aj9CfbE1pXEVxPfjSaTwdY3B4kYHbwsTSyT3nrc34ATN"),
WithPeer("G52UmsQpUmN2zFMkJaP9rwCvqQJzi1yHKA9RTrLJTk9f"),
WithKeepAliveInterval(5),
)
if err != nil {
check(err)

View File

@@ -3,6 +3,7 @@ package client
import (
"context"
"errors"
"golang.zx2c4.com/wireguard/tun/netstack"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"net"
@@ -33,7 +34,11 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
opt.apply(dialOpts)
}
getNetworkInstance(dialOpts)
var network *netstack.Net
if network, err = getNetworkInstance(dialOpts); check(err) {
return
}
return grpc.DialContext(ctx,
rpcEndpointIp+":"+rpcEndpointPort,