summaryrefslogtreecommitdiffstats
path: root/src/log/util.rs
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-10-22 17:26:00 +0200
committerMatthias Beyer <mail@beyermatthias.de>2020-10-27 14:06:50 +0100
commita9fb2644cac1a4fe8cd75df3ed8b5f9182cb8238 (patch)
tree3569f01de3ab56f7418148e4344f8372dc05ba19 /src/log/util.rs
parent4ecf1e1e4fa2f8b9cb75260a0b033025e234984b (diff)
Implement log module for job log handling
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/log/util.rs')
-rw-r--r--src/log/util.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/log/util.rs b/src/log/util.rs
new file mode 100644
index 0000000..675a4c4
--- /dev/null
+++ b/src/log/util.rs
@@ -0,0 +1,28 @@
+use shiplift::tty::TtyChunk;
+
+pub enum TtyChunkBuf {
+ StdIn (Vec<u8>),
+ StdOut(Vec<u8>),
+ StdErr(Vec<u8>),
+}
+
+impl From<TtyChunk> for TtyChunkBuf {
+ fn from(c: TtyChunk) -> Self {
+ match c {
+ TtyChunk::StdIn(buffer) => TtyChunkBuf::StdIn (buffer),
+ TtyChunk::StdOut(buffer) => TtyChunkBuf::StdOut(buffer),
+ TtyChunk::StdErr(buffer) => TtyChunkBuf::StdErr(buffer),
+ }
+ }
+}
+
+impl AsRef<[u8]> for TtyChunkBuf {
+ fn as_ref(&self) -> &[u8] {
+ match self {
+ TtyChunkBuf::StdIn(buffer) => buffer.as_ref(),
+ TtyChunkBuf::StdOut(buffer) => buffer.as_ref(),
+ TtyChunkBuf::StdErr(buffer) => buffer.as_ref(),
+ }
+ }
+}
+