TUN-8489: Add default noop logger for capnprpc
This commit is contained in:
parent
d875839e5e
commit
6174c4588b
|
@ -32,7 +32,7 @@ func NewCloudflaredClient(ctx context.Context, stream io.ReadWriteCloser, reques
|
||||||
return nil, fmt.Errorf("expect to write %d bytes for RPC stream protocol signature, wrote %d", len(rpcStreamProtocolSignature), n)
|
return nil, fmt.Errorf("expect to write %d bytes for RPC stream protocol signature, wrote %d", len(rpcStreamProtocolSignature), n)
|
||||||
}
|
}
|
||||||
transport := tunnelrpc.SafeTransport(stream)
|
transport := tunnelrpc.SafeTransport(stream)
|
||||||
conn := rpc.NewConn(transport)
|
conn := tunnelrpc.NewClientConn(transport)
|
||||||
client := pogs.NewCloudflaredServer_PogsClient(conn.Bootstrap(ctx), conn)
|
client := pogs.NewCloudflaredServer_PogsClient(conn.Bootstrap(ctx), conn)
|
||||||
return &CloudflaredClient{
|
return &CloudflaredClient{
|
||||||
client: client,
|
client: client,
|
||||||
|
|
|
@ -6,8 +6,6 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"zombiezen.com/go/capnproto2/rpc"
|
|
||||||
|
|
||||||
"github.com/cloudflare/cloudflared/tunnelrpc"
|
"github.com/cloudflare/cloudflared/tunnelrpc"
|
||||||
"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
|
"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
|
||||||
)
|
)
|
||||||
|
@ -58,7 +56,7 @@ func (s *CloudflaredServer) handleRPC(ctx context.Context, stream io.ReadWriteCl
|
||||||
defer transport.Close()
|
defer transport.Close()
|
||||||
|
|
||||||
main := pogs.CloudflaredServer_ServerToClient(s.sessionManager, s.configManager)
|
main := pogs.CloudflaredServer_ServerToClient(s.sessionManager, s.configManager)
|
||||||
rpcConn := rpc.NewConn(transport, rpc.MainInterface(main.Client))
|
rpcConn := tunnelrpc.NewServerConn(transport, main.Client)
|
||||||
defer rpcConn.Close()
|
defer rpcConn.Close()
|
||||||
|
|
||||||
// We ignore the errors here because if cloudflared fails to handle a request, we will just move on.
|
// We ignore the errors here because if cloudflared fails to handle a request, we will just move on.
|
||||||
|
|
|
@ -31,7 +31,7 @@ func NewSessionClient(ctx context.Context, stream io.ReadWriteCloser, requestTim
|
||||||
return nil, fmt.Errorf("expect to write %d bytes for RPC stream protocol signature, wrote %d", len(rpcStreamProtocolSignature), n)
|
return nil, fmt.Errorf("expect to write %d bytes for RPC stream protocol signature, wrote %d", len(rpcStreamProtocolSignature), n)
|
||||||
}
|
}
|
||||||
transport := tunnelrpc.SafeTransport(stream)
|
transport := tunnelrpc.SafeTransport(stream)
|
||||||
conn := rpc.NewConn(transport)
|
conn := tunnelrpc.NewClientConn(transport)
|
||||||
return &SessionClient{
|
return &SessionClient{
|
||||||
client: pogs.NewSessionManager_PogsClient(conn.Bootstrap(ctx), conn),
|
client: pogs.NewSessionManager_PogsClient(conn.Bootstrap(ctx), conn),
|
||||||
transport: transport,
|
transport: transport,
|
||||||
|
|
|
@ -6,8 +6,6 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"zombiezen.com/go/capnproto2/rpc"
|
|
||||||
|
|
||||||
"github.com/cloudflare/cloudflared/tunnelrpc"
|
"github.com/cloudflare/cloudflared/tunnelrpc"
|
||||||
"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
|
"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
|
||||||
)
|
)
|
||||||
|
@ -48,7 +46,7 @@ func (s *SessionManagerServer) Serve(ctx context.Context, stream io.ReadWriteClo
|
||||||
defer transport.Close()
|
defer transport.Close()
|
||||||
|
|
||||||
main := pogs.SessionManager_ServerToClient(s.sessionManager)
|
main := pogs.SessionManager_ServerToClient(s.sessionManager)
|
||||||
rpcConn := rpc.NewConn(transport, rpc.MainInterface(main.Client))
|
rpcConn := tunnelrpc.NewServerConn(transport, main.Client)
|
||||||
defer rpcConn.Close()
|
defer rpcConn.Close()
|
||||||
|
|
||||||
select {
|
select {
|
||||||
|
|
|
@ -35,7 +35,7 @@ type registrationClient struct {
|
||||||
|
|
||||||
func NewRegistrationClient(ctx context.Context, stream io.ReadWriteCloser, requestTimeout time.Duration) RegistrationClient {
|
func NewRegistrationClient(ctx context.Context, stream io.ReadWriteCloser, requestTimeout time.Duration) RegistrationClient {
|
||||||
transport := SafeTransport(stream)
|
transport := SafeTransport(stream)
|
||||||
conn := rpc.NewConn(transport)
|
conn := NewClientConn(transport)
|
||||||
client := pogs.NewRegistrationServer_PogsClient(conn.Bootstrap(ctx), conn)
|
client := pogs.NewRegistrationServer_PogsClient(conn.Bootstrap(ctx), conn)
|
||||||
return ®istrationClient{
|
return ®istrationClient{
|
||||||
client: client,
|
client: client,
|
||||||
|
|
|
@ -4,8 +4,6 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"io"
|
"io"
|
||||||
|
|
||||||
"zombiezen.com/go/capnproto2/rpc"
|
|
||||||
|
|
||||||
"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
|
"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -28,8 +26,7 @@ func (s *RegistrationServer) Serve(ctx context.Context, stream io.ReadWriteClose
|
||||||
defer transport.Close()
|
defer transport.Close()
|
||||||
|
|
||||||
main := pogs.RegistrationServer_ServerToClient(s.registrationServer)
|
main := pogs.RegistrationServer_ServerToClient(s.registrationServer)
|
||||||
rpcConn := rpc.NewConn(transport, rpc.MainInterface(main.Client))
|
rpcConn := NewServerConn(transport, main.Client)
|
||||||
defer rpcConn.Close()
|
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case <-rpcConn.Done():
|
case <-rpcConn.Done():
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
package tunnelrpc
|
package tunnelrpc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"io"
|
"io"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
capnp "zombiezen.com/go/capnproto2"
|
||||||
"zombiezen.com/go/capnproto2/rpc"
|
"zombiezen.com/go/capnproto2/rpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -67,3 +69,21 @@ func isTemporaryError(e error) bool {
|
||||||
t, ok := e.(temp)
|
t, ok := e.(temp)
|
||||||
return ok && t.Temporary()
|
return ok && t.Temporary()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NoopCapnpLogger provides a logger to discard all capnp rpc internal logging messages as
|
||||||
|
// they are by default provided to stdout if no logger interface is provided. These logging
|
||||||
|
// messages in cloudflared have typically not provided a high amount of pratical value
|
||||||
|
// as the messages are extremely verbose and don't provide a good insight into the message
|
||||||
|
// contents or rpc method names.
|
||||||
|
type noopCapnpLogger struct{}
|
||||||
|
|
||||||
|
func (noopCapnpLogger) Infof(ctx context.Context, format string, args ...interface{}) {}
|
||||||
|
func (noopCapnpLogger) Errorf(ctx context.Context, format string, args ...interface{}) {}
|
||||||
|
|
||||||
|
func NewClientConn(transport rpc.Transport) *rpc.Conn {
|
||||||
|
return rpc.NewConn(transport, rpc.ConnLog(noopCapnpLogger{}))
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewServerConn(transport rpc.Transport, client capnp.Client) *rpc.Conn {
|
||||||
|
return rpc.NewConn(transport, rpc.MainInterface(client), rpc.ConnLog(noopCapnpLogger{}))
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue