mirror of
https://github.com/siderolabs/talos.git
synced 2025-08-18 04:27:06 +02:00
Using this `LoggingManager` all the log flows (reading and writing) were refactored. Inteface of `LoggingManager` should be now generic enough to replace log handling with almost any implementation - log rotation, sending logs to remote destination, keeping logs in memory, etc. There should be no functional changes. As part of changes, `follow.Reader` was implemented which makes appending file feel like a stream. `file.NewChunker` was refactored to use `follow.Reader` and `stream.NewChunker` to do the actual work. So basically now we have only a single instance of chunker - stream chunker, as everything is represented as a stream. Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
17 lines
485 B
Go
17 lines
485 B
Go
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
package chunker
|
|
|
|
// Chunker is an interface for embedding all chunking interfaces under one name.
|
|
type Chunker interface {
|
|
ChunkReader
|
|
}
|
|
|
|
// ChunkReader is an interface describing a reader that streams data in []byte
|
|
// chunks.
|
|
type ChunkReader interface {
|
|
Read() <-chan []byte
|
|
}
|