Skip to content

Commit 6174c45

Browse files
committed
TUN-8489: Add default noop logger for capnprpc
1 parent d875839 commit 6174c45

File tree

7 files changed

+26
-13
lines changed

7 files changed

+26
-13
lines changed

tunnelrpc/quic/cloudflared_client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func NewCloudflaredClient(ctx context.Context, stream io.ReadWriteCloser, reques
3232
return nil, fmt.Errorf("expect to write %d bytes for RPC stream protocol signature, wrote %d", len(rpcStreamProtocolSignature), n)
3333
}
3434
transport := tunnelrpc.SafeTransport(stream)
35-
conn := rpc.NewConn(transport)
35+
conn := tunnelrpc.NewClientConn(transport)
3636
client := pogs.NewCloudflaredServer_PogsClient(conn.Bootstrap(ctx), conn)
3737
return &CloudflaredClient{
3838
client: client,

tunnelrpc/quic/cloudflared_server.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import (
66
"io"
77
"time"
88

9-
"zombiezen.com/go/capnproto2/rpc"
10-
119
"github.com/cloudflare/cloudflared/tunnelrpc"
1210
"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
1311
)
@@ -58,7 +56,7 @@ func (s *CloudflaredServer) handleRPC(ctx context.Context, stream io.ReadWriteCl
5856
defer transport.Close()
5957

6058
main := pogs.CloudflaredServer_ServerToClient(s.sessionManager, s.configManager)
61-
rpcConn := rpc.NewConn(transport, rpc.MainInterface(main.Client))
59+
rpcConn := tunnelrpc.NewServerConn(transport, main.Client)
6260
defer rpcConn.Close()
6361

6462
// We ignore the errors here because if cloudflared fails to handle a request, we will just move on.

tunnelrpc/quic/session_client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func NewSessionClient(ctx context.Context, stream io.ReadWriteCloser, requestTim
3131
return nil, fmt.Errorf("expect to write %d bytes for RPC stream protocol signature, wrote %d", len(rpcStreamProtocolSignature), n)
3232
}
3333
transport := tunnelrpc.SafeTransport(stream)
34-
conn := rpc.NewConn(transport)
34+
conn := tunnelrpc.NewClientConn(transport)
3535
return &SessionClient{
3636
client: pogs.NewSessionManager_PogsClient(conn.Bootstrap(ctx), conn),
3737
transport: transport,

tunnelrpc/quic/session_server.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import (
66
"io"
77
"time"
88

9-
"zombiezen.com/go/capnproto2/rpc"
10-
119
"github.com/cloudflare/cloudflared/tunnelrpc"
1210
"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
1311
)
@@ -48,7 +46,7 @@ func (s *SessionManagerServer) Serve(ctx context.Context, stream io.ReadWriteClo
4846
defer transport.Close()
4947

5048
main := pogs.SessionManager_ServerToClient(s.sessionManager)
51-
rpcConn := rpc.NewConn(transport, rpc.MainInterface(main.Client))
49+
rpcConn := tunnelrpc.NewServerConn(transport, main.Client)
5250
defer rpcConn.Close()
5351

5452
select {

tunnelrpc/registration_client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ type registrationClient struct {
3535

3636
func NewRegistrationClient(ctx context.Context, stream io.ReadWriteCloser, requestTimeout time.Duration) RegistrationClient {
3737
transport := SafeTransport(stream)
38-
conn := rpc.NewConn(transport)
38+
conn := NewClientConn(transport)
3939
client := pogs.NewRegistrationServer_PogsClient(conn.Bootstrap(ctx), conn)
4040
return &registrationClient{
4141
client: client,

tunnelrpc/registration_server.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import (
44
"context"
55
"io"
66

7-
"zombiezen.com/go/capnproto2/rpc"
8-
97
"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
108
)
119

@@ -28,8 +26,7 @@ func (s *RegistrationServer) Serve(ctx context.Context, stream io.ReadWriteClose
2826
defer transport.Close()
2927

3028
main := pogs.RegistrationServer_ServerToClient(s.registrationServer)
31-
rpcConn := rpc.NewConn(transport, rpc.MainInterface(main.Client))
32-
defer rpcConn.Close()
29+
rpcConn := NewServerConn(transport, main.Client)
3330

3431
select {
3532
case <-rpcConn.Done():

tunnelrpc/utils.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package tunnelrpc
22

33
import (
4+
"context"
45
"io"
56
"time"
67

78
"github.com/pkg/errors"
9+
capnp "zombiezen.com/go/capnproto2"
810
"zombiezen.com/go/capnproto2/rpc"
911
)
1012

@@ -67,3 +69,21 @@ func isTemporaryError(e error) bool {
6769
t, ok := e.(temp)
6870
return ok && t.Temporary()
6971
}
72+
73+
// NoopCapnpLogger provides a logger to discard all capnp rpc internal logging messages as
74+
// they are by default provided to stdout if no logger interface is provided. These logging
75+
// messages in cloudflared have typically not provided a high amount of pratical value
76+
// as the messages are extremely verbose and don't provide a good insight into the message
77+
// contents or rpc method names.
78+
type noopCapnpLogger struct{}
79+
80+
func (noopCapnpLogger) Infof(ctx context.Context, format string, args ...interface{}) {}
81+
func (noopCapnpLogger) Errorf(ctx context.Context, format string, args ...interface{}) {}
82+
83+
func NewClientConn(transport rpc.Transport) *rpc.Conn {
84+
return rpc.NewConn(transport, rpc.ConnLog(noopCapnpLogger{}))
85+
}
86+
87+
func NewServerConn(transport rpc.Transport, client capnp.Client) *rpc.Conn {
88+
return rpc.NewConn(transport, rpc.MainInterface(client), rpc.ConnLog(noopCapnpLogger{}))
89+
}

0 commit comments

Comments
 (0)