libs/common: Refactor libs/common 4 (#4237)

* libs/common: Refactor libs/common 4

- move byte function out of cmn to its own pkg
- move tempfile out of cmn to its own pkg
- move throttletimer to its own pkg

ref #4147

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* add changelog entry

* fix linting issues
This commit is contained in:
Marko
2019-12-11 23:16:35 +01:00
committed by GitHub
parent 15e80d2448
commit 89f0bbbd76
50 changed files with 181 additions and 251 deletions

View File

@@ -1,19 +0,0 @@
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[Makefile]
indent_style = tab
[*.sh]
indent_style = tab
[*.proto]
indent_style = space
indent_size = 2

5
libs/.gitignore vendored
View File

@@ -1,5 +0,0 @@
*.sw[opqr]
vendor
.glide
pubsub/query/fuzz_test/output

View File

@@ -1,44 +0,0 @@
# TMLIBS
This repo is a home for various small packages.
## autofile
Autofile is file access with automatic log rotation. A group of files is maintained and rotation happens
when the leading file gets too big. Provides a reader for reading from the file group.
## cli
CLI wraps the `cobra` and `viper` packages and handles some common elements of building a CLI like flags and env vars for the home directory and the logger.
## clist
Clist provides a linked list that is safe for concurrent access by many readers.
## common
Common provides a hodgepodge of useful functions.
## events
Events is a synchronous PubSub package.
## flowrate
Flowrate is a fork of https://github.com/mxk/go-flowrate that added a `SetREMA` method.
## log
Log is a log package structured around key-value pairs that allows logging level to be set differently for different keys.
## merkle
Merkle provides a simple static merkle tree and corresponding proofs.
## process
Process is a simple utility for spawning OS processes.
## pubsub
PubSub is an asynchronous PubSub package.

View File

@@ -1,4 +1,4 @@
package common
package bytes
import (
"encoding/hex"

View File

@@ -1,4 +1,4 @@
package common
package bytes
import (
"encoding/json"

View File

@@ -1,4 +1,4 @@
package common
package bytes
// Fingerprint returns the first 6 bytes of a byte slice.
// If the slice is less than 6 bytes, the fingerprint

View File

@@ -1,4 +1,4 @@
package common
package tempfile
import (
fmt "fmt"

View File

@@ -1,4 +1,4 @@
package common
package tempfile
// Need access to internal variables, so can't use _test package

View File

@@ -1,15 +0,0 @@
#!/usr/bin/env bash
set -e
# run the linter
# make lint
# run the unit tests with coverage
echo "" > coverage.txt
for d in $(go list ./... | grep -v vendor); do
go test -race -coverprofile=profile.out -covermode=atomic "$d"
if [ -f profile.out ]; then
cat profile.out >> coverage.txt
rm profile.out
fi
done

View File

@@ -1,4 +1,4 @@
package common
package timer
import (
"sync"

View File

@@ -1,4 +1,4 @@
package common
package timer
import (
"sync"