diff options
Diffstat (limited to 'common/buffer/buffer.go')
| -rw-r--r-- | common/buffer/buffer.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/common/buffer/buffer.go b/common/buffer/buffer.go new file mode 100644 index 0000000..afc5f7f --- /dev/null +++ b/common/buffer/buffer.go @@ -0,0 +1,34 @@ +package buffer + +import ( + "errors" +) + +var ErrBadRead = errors.New("bad read") + +type Buffer struct { + buf []byte + off int +} + +func New(opts ...Option) *Buffer { + b := &Buffer{} + + for _, opt := range opts { + opt(b) + } + + return b +} + +func (b *Buffer) Len() int { + return len(b.buf) +} + +func (b *Buffer) Off() int { + return b.off +} + +func (b *Buffer) Bytes() []byte { + return b.buf +} |
