summaryrefslogtreecommitdiff
path: root/internal/io/line
diff options
context:
space:
mode:
authorPaul Bütow <pbuetow@mimecast.com>2020-01-26 11:26:53 +0000
committerPaul Bütow <pbuetow@mimecast.com>2020-02-07 13:31:15 +0000
commit0945da8dfefcbb723eecea0e5f4eafff63398253 (patch)
treef06dab4d2bf21d25d176b23d5baeca588d27f5d7 /internal/io/line
parent2a8e5de265a0e0a31a5834909d6879f5c9941467 (diff)
Introduce drun command, refactor code to use context package
Diffstat (limited to 'internal/io/line')
-rw-r--r--internal/io/line/line.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/internal/io/line/line.go b/internal/io/line/line.go
new file mode 100644
index 0000000..9db93c0
--- /dev/null
+++ b/internal/io/line/line.go
@@ -0,0 +1,28 @@
+package line
+
+import (
+ "fmt"
+)
+
+// Line represents a read log line.
+type Line struct {
+ // The content of the log line.
+ Content []byte
+ // Until now, how many log lines were processed?
+ Count uint64
+ // Sometimes we produce too many log lines so that the client
+ // is too slow to process all of them. The server will drop log
+ // lines if that happens but it will signal to the client how
+ // many log lines in % could be transmitted to the client.
+ TransmittedPerc int
+ SourceID string
+}
+
+// Return a human readable representation of the followed line.
+func (l Line) String() string {
+ return fmt.Sprintf("Line(Content:%s,TransmittedPerc:%v,Count:%v,SourceID:%s)",
+ string(l.Content),
+ l.TransmittedPerc,
+ l.Count,
+ l.SourceID)
+}