From df322d81e88c246eb9a66655bdb087bfaa72acb4 Mon Sep 17 00:00:00 2001 From: Charles Iliya Krempeaux Date: Thu, 5 Sep 2019 18:31:59 -0700 Subject: [PATCH] buffers.TooShort --- tooshort.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tooshort.go diff --git a/tooshort.go b/tooshort.go new file mode 100644 index 0000000..afd2722 --- /dev/null +++ b/tooshort.go @@ -0,0 +1,32 @@ +package buffers + +import ( + "fmt" +) + +type TooShort interface { + error + TooShort() (expectedAtLeast uint64, actual uint64) +} + +func errTooShort(expectedAtLeast uint64, actual uint64) error { + var e TooShort = &internalTooShort{ + expectedAtLeast:expectedAtLeast, + actual:actual, + } + + return e +} + +type internalTooShort struct { + expectedAtLeast uint64 + actual uint64 +} + +func (receiver internalTooShort) Error() string { + return fmt.Sprintf("buffers: Backing Buffer Is Too Short: expected-at-least=%d actual=%d", receiver.expectedAtLeast, receiver.actual) +} + +func (receiver internalTooShort) TooShort() (expectedAtLeast uint64, actual uint64) { + return receiver.expectedAtLeast, receiver.actual +}