cloudflare/cloudflared

Public

mirrored from https://github.com/cloudflare/cloudflaredAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
2020.11.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

connection/rpc.go

41lines · modecode

1package connection
2
3import (
4 "context"
5 "io"
6
7 rpc "zombiezen.com/go/capnproto2/rpc"
8
9 "github.com/cloudflare/cloudflared/logger"
10 "github.com/cloudflare/cloudflared/tunnelrpc"
11 tunnelpogs "github.com/cloudflare/cloudflared/tunnelrpc/pogs"
12)
13
14// NewTunnelRPCClient creates and returns a new RPC client, which will communicate
15// using a stream on the given muxer
16func NewTunnelRPCClient(
17 ctx context.Context,
18 stream io.ReadWriteCloser,
19 logger logger.Service,
20) (client tunnelpogs.TunnelServer_PogsClient, err error) {
21 conn := rpc.NewConn(
22 tunnelrpc.NewTransportLogger(logger, rpc.StreamTransport(stream)),
23 tunnelrpc.ConnLog(logger),
24 )
25 registrationClient := tunnelpogs.RegistrationServer_PogsClient{Client: conn.Bootstrap(ctx), Conn: conn}
26 client = tunnelpogs.TunnelServer_PogsClient{RegistrationServer_PogsClient: registrationClient, Client: conn.Bootstrap(ctx), Conn: conn}
27 return client, nil
28}
29
30func NewRegistrationRPCClient(
31 ctx context.Context,
32 stream io.ReadWriteCloser,
33 logger logger.Service,
34) (client tunnelpogs.RegistrationServer_PogsClient, err error) {
35 conn := rpc.NewConn(
36 tunnelrpc.NewTransportLogger(logger, rpc.StreamTransport(stream)),
37 tunnelrpc.ConnLog(logger),
38 )
39 client = tunnelpogs.RegistrationServer_PogsClient{Client: conn.Bootstrap(ctx), Conn: conn}
40 return client, nil
41}
42