| giolekva | 7be17df | 2020-03-21 13:57:02 +0400 | [diff] [blame] | 1 | package chunk |
| 2 | |
| giolekva | c5126d9 | 2020-03-21 16:39:56 +0400 | [diff] [blame] | 3 | import ( |
| 4 | "bytes" |
| 5 | "io" |
| 6 | ) |
| giolekva | 7be17df | 2020-03-21 13:57:02 +0400 | [diff] [blame] | 7 | |
| 8 | type InMemoryChunk struct { |
| 9 | payload bytes.Buffer |
| 10 | } |
| 11 | |
| 12 | func (c *InMemoryChunk) SizeBytes() int { |
| 13 | return len(c.payload.Bytes()) |
| 14 | } |
| 15 | |
| 16 | func (c *InMemoryChunk) ReadSeeker() io.ReadSeeker { |
| 17 | return bytes.NewReader(c.payload.Bytes()) |
| 18 | } |
| 19 | |
| 20 | func (c *InMemoryChunk) Writer() io.Writer { |
| 21 | return &c.payload |
| 22 | } |
| 23 | |
| 24 | type InMemoryChunkFactory struct { |
| 25 | } |
| 26 | |
| 27 | func (f InMemoryChunkFactory) New() Chunk { |
| 28 | return &InMemoryChunk{} |
| 29 | } |