summaryrefslogtreecommitdiffstats
path: root/src/log/util.rs
blob: 675a4c46b8b09a72ad1e97c2bfd96af3c8987735 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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(),
        }
    }
}