aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/golang
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/golang')
-rw-r--r--vendor/github.com/golang/snappy/cmd/snappytool/main.go46
-rw-r--r--vendor/github.com/golang/snappy/misc/main.cpp (renamed from vendor/github.com/golang/snappy/cmd/snappytool/main.cpp)2
-rw-r--r--vendor/github.com/golang/snappy/snappy.go17
3 files changed, 62 insertions, 3 deletions
diff --git a/vendor/github.com/golang/snappy/cmd/snappytool/main.go b/vendor/github.com/golang/snappy/cmd/snappytool/main.go
new file mode 100644
index 000000000..b0f44c3fb
--- /dev/null
+++ b/vendor/github.com/golang/snappy/cmd/snappytool/main.go
@@ -0,0 +1,46 @@
+package main
+
+import (
+ "errors"
+ "flag"
+ "io/ioutil"
+ "os"
+
+ "github.com/golang/snappy"
+)
+
+var (
+ decode = flag.Bool("d", false, "decode")
+ encode = flag.Bool("e", false, "encode")
+)
+
+func run() error {
+ flag.Parse()
+ if *decode == *encode {
+ return errors.New("exactly one of -d or -e must be given")
+ }
+
+ in, err := ioutil.ReadAll(os.Stdin)
+ if err != nil {
+ return err
+ }
+
+ out := []byte(nil)
+ if *decode {
+ out, err = snappy.Decode(nil, in)
+ if err != nil {
+ return err
+ }
+ } else {
+ out = snappy.Encode(nil, in)
+ }
+ _, err = os.Stdout.Write(out)
+ return err
+}
+
+func main() {
+ if err := run(); err != nil {
+ os.Stderr.WriteString(err.Error() + "\n")
+ os.Exit(1)
+ }
+}
diff --git a/vendor/github.com/golang/snappy/cmd/snappytool/main.cpp b/vendor/github.com/golang/snappy/misc/main.cpp
index fc31f5173..24a3d9a91 100644
--- a/vendor/github.com/golang/snappy/cmd/snappytool/main.cpp
+++ b/vendor/github.com/golang/snappy/misc/main.cpp
@@ -1,4 +1,6 @@
/*
+This is a C version of the cmd/snappytool Go program.
+
To build the snappytool binary:
g++ main.cpp /usr/lib/libsnappy.a -o snappytool
or, if you have built the C++ snappy library from source:
diff --git a/vendor/github.com/golang/snappy/snappy.go b/vendor/github.com/golang/snappy/snappy.go
index 0cf5e379c..ece692ea4 100644
--- a/vendor/github.com/golang/snappy/snappy.go
+++ b/vendor/github.com/golang/snappy/snappy.go
@@ -2,10 +2,21 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// Package snappy implements the snappy block-based compression format.
-// It aims for very high speeds and reasonable compression.
+// Package snappy implements the Snappy compression format. It aims for very
+// high speeds and reasonable compression.
//
-// The C++ snappy implementation is at https://github.com/google/snappy
+// There are actually two Snappy formats: block and stream. They are related,
+// but different: trying to decompress block-compressed data as a Snappy stream
+// will fail, and vice versa. The block format is the Decode and Encode
+// functions and the stream format is the Reader and Writer types.
+//
+// The block format, the more common case, is used when the complete size (the
+// number of bytes) of the original data is known upfront, at the time
+// compression starts. The stream format, also known as the framing format, is
+// for when that isn't always true.
+//
+// The canonical, C++ implementation is at https://github.com/google/snappy and
+// it only implements the block format.
package snappy // import "github.com/golang/snappy"
import (