refactoring rpc client package.
This commit is contained in:
@@ -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
|
||||
//
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user