clean format with gofmt -w

release-0.4
Cong Ding 2013-07-16 19:44:09 +02:00
parent 823691feaa
commit 9da955ca75
6 changed files with 44 additions and 47 deletions

View File

@ -22,4 +22,4 @@ type Keyword string
func (e Keyword) Error() string {
return string(e)
}
}

View File

@ -2,6 +2,6 @@ package store
// keywords for internal useage
var keywords = map[string]bool{
"/acoounts": true,
"/ephemeralNodes": true,
}
"/acoounts": true,
"/ephemeralNodes": true,
}

View File

@ -70,7 +70,7 @@ type Response struct {
// If the key did not exist before the action,
// this field should be set to true
NewKey bool `json:"newKey,omitempty"`
NewKey bool `json:"newKey,omitempty"`
Expiration *time.Time `json:"expiration,omitempty"`
@ -146,9 +146,9 @@ func (s *Store) Set(key string, value string, expireTime time.Time, index uint64
// base response
resp := Response{
Action: "SET",
Key: key,
Value: value,
Index: index,
Key: key,
Value: value,
Index: index,
}
// When the slow follower receive the set command
@ -260,9 +260,9 @@ func (s *Store) internalGet(key string) *Response {
resp := &Response{
Action: "GET",
Key: key,
Value: node.Value,
Index: s.Index,
Key: key,
Value: node.Value,
Index: s.Index,
}
// Update ttl
@ -280,7 +280,6 @@ func (s *Store) internalGet(key string) *Response {
}
}
// Get all the items under key
// If key is a file return the file
// If key is a directory reuturn an array of files
@ -301,8 +300,8 @@ func (s *Store) Get(key string) ([]byte, error) {
resps[i] = Response{
Action: "GET",
Index: s.Index,
Key: path.Join(key, keys[i]),
Index: s.Index,
Key: path.Join(key, keys[i]),
}
if !dirs[i] {
@ -342,17 +341,16 @@ func (s *Store) Delete(key string, index uint64) ([]byte, error) {
if ok {
resp := Response{
Action: "DELETE",
Key: key,
Action: "DELETE",
Key: key,
PrevValue: node.Value,
Index: index,
Index: index,
}
if node.ExpireTime.Equal(PERMANENT) {
s.Tree.delete(key)
} else {
resp.Expiration = &node.ExpireTime
// Kill the expire go routine
@ -432,11 +430,11 @@ func (s *Store) monitorExpiration(key string, update chan time.Time, expireTime
s.Tree.delete(key)
resp := Response{
Action: "DELETE",
Key: key,
PrevValue: node.Value,
Action: "DELETE",
Key: key,
PrevValue: node.Value,
Expiration: &node.ExpireTime,
Index: s.Index,
Index: s.Index,
}
msg, err := json.Marshal(resp)

View File

@ -2,9 +2,9 @@ package store
import (
"path"
"strings"
"sort"
)
"strings"
)
//------------------------------------------------------------------------------
//
@ -21,12 +21,12 @@ type tree struct {
// A treeNode wraps a Node. It has a hashmap to keep records of its children treeNodes.
type treeNode struct {
InternalNode Node
Dir bool
NodeMap map[string]*treeNode
Dir bool
NodeMap map[string]*treeNode
}
// TreeNode with its key. We use it when we need to sort the treeNodes.
type tnWithKey struct{
type tnWithKey struct {
key string
tn *treeNode
}
@ -63,7 +63,7 @@ func (t *tree) set(key string, value Node) bool {
newDir := false
// go through all the path
for i = 0; i < len(nodesName) - 1; i++ {
for i = 0; i < len(nodesName)-1; i++ {
// if we meet a new directory, all the directory after it must be new
if newDir {
@ -115,14 +115,14 @@ func (t *tree) set(key string, value Node) bool {
}
// Get the tree node of the key
func (t *tree)internalGet(key string) (*treeNode, bool) {
func (t *tree) internalGet(key string) (*treeNode, bool) {
nodesName := split(key)
nodeMap := t.Root.NodeMap
var i int
for i = 0; i < len(nodesName) - 1; i++ {
for i = 0; i < len(nodesName)-1; i++ {
node, ok := nodeMap[nodesName[i]]
if !ok || !node.Dir {
return nil, false
@ -193,7 +193,7 @@ func (t *tree) delete(key string) bool {
var i int
for i = 0; i < len(nodesName) - 1; i++ {
for i = 0; i < len(nodesName)-1; i++ {
node, ok := nodeMap[nodesName[i]]
if !ok || !node.Dir {
return false
@ -202,7 +202,7 @@ func (t *tree) delete(key string) bool {
}
node, ok := nodeMap[nodesName[i]]
if ok && !node.Dir{
if ok && !node.Dir {
delete(nodeMap, nodesName[i])
return true
}
@ -223,10 +223,10 @@ func (t *tree) traverse(f func(string, *Node), sort bool) {
func dfs(key string, t *treeNode, f func(string, *Node)) {
// base case
if len(t.NodeMap) == 0{
if len(t.NodeMap) == 0 {
f(key, &t.InternalNode)
// recursion
// recursion
} else {
for tnKey, tn := range t.NodeMap {
tnKey := key + "/" + tnKey
@ -239,10 +239,10 @@ func dfs(key string, t *treeNode, f func(string, *Node)) {
// apply the func f to each internal node
func sortDfs(key string, t *treeNode, f func(string, *Node)) {
// base case
if len(t.NodeMap) == 0{
if len(t.NodeMap) == 0 {
f(key, &t.InternalNode)
// recursion
// recursion
} else {
s := make(tnWithKeySlice, len(t.NodeMap))

View File

@ -1,11 +1,11 @@
package store
import (
"testing"
"fmt"
"math/rand"
"strconv"
"testing"
"time"
"fmt"
)
func TestStoreGet(t *testing.T) {
@ -60,7 +60,6 @@ func TestStoreGet(t *testing.T) {
t.Fatalf("Expect cannot delet /hello, but deleted! ")
}
// test list
ts.set("/hello/fooo", CreateTestNode("barbarbar"))
ts.set("/hello/foooo/foo", CreateTestNode("barbarbar"))
@ -73,12 +72,12 @@ func TestStoreGet(t *testing.T) {
length := len(nodes)
for i := 0; i < length; i++ {
fmt.Println(keys[i] , "=", nodes[i].Value, "[", dirs[i], "]")
fmt.Println(keys[i], "=", nodes[i].Value, "[", dirs[i], "]")
}
}
// speed test
for i:=0; i < 100; i++ {
for i := 0; i < 100; i++ {
key := "/"
depth := rand.Intn(10)
for j := 0; j < depth; j++ {
@ -100,10 +99,10 @@ func TestStoreGet(t *testing.T) {
ts.traverse(f, true)
}
func f (key string, n *Node) {
func f(key string, n *Node) {
fmt.Println(key, "=", n.Value)
}
func CreateTestNode(value string) Node{
return Node{value, time.Unix(0,0), nil}
}
func CreateTestNode(value string) Node {
return Node{value, time.Unix(0, 0), nil}
}

View File

@ -5,6 +5,7 @@ import (
"strconv"
"strings"
)
//------------------------------------------------------------------------------
//
// Typedefs
@ -18,7 +19,7 @@ type WatcherHub struct {
// Currently watcher only contains a response channel
type Watcher struct {
C chan Response
C chan Response
}
// Create a new watcherHub
@ -85,7 +86,6 @@ func checkResponse(prefix string, index uint64, resMap *map[string]Response) boo
return false
}
// Notify the watcher a action happened
func (w *WatcherHub) notify(resp Response) error {
resp.Key = path.Clean(resp.Key)