mirror of
https://github.com/hashicorp/vault.git
synced 2026-01-12 04:01:49 +01:00
* Switch mongodb driver to mongo-driver * Tidy mod * Make writeConcern private * Implement review feedback * Add retry functionality * Added backoff time * go mod vendor * Fix failing test * goimport
36 lines
812 B
Go
36 lines
812 B
Go
package zstd
|
|
|
|
/*
|
|
#define ZSTD_STATIC_LINKING_ONLY
|
|
#include "zstd.h"
|
|
*/
|
|
import "C"
|
|
|
|
// ErrorCode is an error returned by the zstd library.
|
|
type ErrorCode int
|
|
|
|
// Error returns the error string given by zstd
|
|
func (e ErrorCode) Error() string {
|
|
return C.GoString(C.ZSTD_getErrorName(C.size_t(e)))
|
|
}
|
|
|
|
func cIsError(code int) bool {
|
|
return int(C.ZSTD_isError(C.size_t(code))) != 0
|
|
}
|
|
|
|
// getError returns an error for the return code, or nil if it's not an error
|
|
func getError(code int) error {
|
|
if code < 0 && cIsError(code) {
|
|
return ErrorCode(code)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// IsDstSizeTooSmallError returns whether the error correspond to zstd standard sDstSizeTooSmall error
|
|
func IsDstSizeTooSmallError(e error) bool {
|
|
if e != nil && e.Error() == "Destination buffer is too small" {
|
|
return true
|
|
}
|
|
return false
|
|
}
|