diff options
| author | openshift-ci[bot] <75433959+openshift-ci[bot]@users.noreply.github.com> | 2022-07-18 17:17:26 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-18 17:17:26 +0000 |
| commit | 5e4d72943448d0e7ff5ea94c133e08fdaf0a5969 (patch) | |
| tree | d8f32488e387734e7422dd6aa0094df3d72fd270 /vendor/google.golang.org/grpc/internal/binarylog/method_logger.go | |
| parent | d890c4d98edcd2ed6f5f26bb19ed2282cea1cb46 (diff) | |
| parent | 1aafb01a9950c5d2c46278cf22488b9acfeaab00 (diff) | |
| download | podman-5e4d72943448d0e7ff5ea94c133e08fdaf0a5969.tar.gz podman-5e4d72943448d0e7ff5ea94c133e08fdaf0a5969.tar.bz2 podman-5e4d72943448d0e7ff5ea94c133e08fdaf0a5969.zip | |
Merge pull request #14890 from rhatdan/VENDOR
Vendor in containers/(storage,image, common, buildah)
Diffstat (limited to 'vendor/google.golang.org/grpc/internal/binarylog/method_logger.go')
| -rw-r--r-- | vendor/google.golang.org/grpc/internal/binarylog/method_logger.go | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/vendor/google.golang.org/grpc/internal/binarylog/method_logger.go b/vendor/google.golang.org/grpc/internal/binarylog/method_logger.go index 0cdb41831..24df0a1a0 100644 --- a/vendor/google.golang.org/grpc/internal/binarylog/method_logger.go +++ b/vendor/google.golang.org/grpc/internal/binarylog/method_logger.go @@ -48,7 +48,11 @@ func (g *callIDGenerator) reset() { var idGen callIDGenerator // MethodLogger is the sub-logger for each method. -type MethodLogger struct { +type MethodLogger interface { + Log(LogEntryConfig) +} + +type methodLogger struct { headerMaxLen, messageMaxLen uint64 callID uint64 @@ -57,8 +61,8 @@ type MethodLogger struct { sink Sink // TODO(blog): make this plugable. } -func newMethodLogger(h, m uint64) *MethodLogger { - return &MethodLogger{ +func newMethodLogger(h, m uint64) *methodLogger { + return &methodLogger{ headerMaxLen: h, messageMaxLen: m, @@ -69,8 +73,10 @@ func newMethodLogger(h, m uint64) *MethodLogger { } } -// Log creates a proto binary log entry, and logs it to the sink. -func (ml *MethodLogger) Log(c LogEntryConfig) { +// Build is an internal only method for building the proto message out of the +// input event. It's made public to enable other library to reuse as much logic +// in methodLogger as possible. +func (ml *methodLogger) Build(c LogEntryConfig) *pb.GrpcLogEntry { m := c.toProto() timestamp, _ := ptypes.TimestampProto(time.Now()) m.Timestamp = timestamp @@ -85,11 +91,15 @@ func (ml *MethodLogger) Log(c LogEntryConfig) { case *pb.GrpcLogEntry_Message: m.PayloadTruncated = ml.truncateMessage(pay.Message) } + return m +} - ml.sink.Write(m) +// Log creates a proto binary log entry, and logs it to the sink. +func (ml *methodLogger) Log(c LogEntryConfig) { + ml.sink.Write(ml.Build(c)) } -func (ml *MethodLogger) truncateMetadata(mdPb *pb.Metadata) (truncated bool) { +func (ml *methodLogger) truncateMetadata(mdPb *pb.Metadata) (truncated bool) { if ml.headerMaxLen == maxUInt { return false } @@ -119,7 +129,7 @@ func (ml *MethodLogger) truncateMetadata(mdPb *pb.Metadata) (truncated bool) { return truncated } -func (ml *MethodLogger) truncateMessage(msgPb *pb.Message) (truncated bool) { +func (ml *methodLogger) truncateMessage(msgPb *pb.Message) (truncated bool) { if ml.messageMaxLen == maxUInt { return false } |
