Skip to content

Commit

Permalink
rename storage
Browse files Browse the repository at this point in the history
  • Loading branch information
ali-mir committed Oct 26, 2022
1 parent 9f9e8c1 commit 584b1d4
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 55 deletions.
12 changes: 6 additions & 6 deletions server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,32 +6,32 @@ import (
"fmt"
"google.golang.org/grpc"
pb "kv/proto"
store "kv/server/store"
store "kv/server/storage_engine"
"log"
"net"
"os"
)

var port *int = flag.Int("port", 20020, "port")
var datastore *store.Store
var storage *store.StorageEngine

// RPC handlers
type server struct {
pb.UnimplementedKVServer
}

func (s *server) Insert(ctx context.Context, req *pb.InsertRequest) (*pb.InsertReply, error) {
ok := datastore.Insert(req.GetKey(), req.GetValue())
ok := storage.Insert(req.GetKey(), req.GetValue())
return &pb.InsertReply{Success: ok}, nil
}

func (s *server) Lookup(ctx context.Context, req *pb.LookupRequest) (*pb.LookupReply, error) {
val := datastore.Lookup(req.GetKey())
val := storage.Lookup(req.GetKey())
return &pb.LookupReply{Value: val}, nil
}

func (s *server) Delete(ctx context.Context, req *pb.DeleteRequest) (*pb.DeleteReply, error) {
ok := datastore.Delete(req.GetKey())
ok := storage.Delete(req.GetKey())
return &pb.DeleteReply{Success: ok}, nil
}

Expand All @@ -44,7 +44,7 @@ func main() {
log.Fatalf("failed to start listening: %v", err)
}

datastore = store.NewStore()
storage = store.NewStorageEngine()

s := grpc.NewServer()
pb.RegisterKVServer(s, &server{})
Expand Down
Binary file added server/server
Binary file not shown.
15 changes: 15 additions & 0 deletions server/storage_engine/btree.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package storage_engine


import "fmt"

type BTree struct {

}

func NewBTree() *BTree {
fmt.Println("Creating new BTree")
bt := BTree{}
return &bt
}

37 changes: 32 additions & 5 deletions server/storage_engine/storage_engine.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,41 @@
package storage_engine

import (
"log"
"sync"
)

import "fmt"

// thread-safe reads and writes
type StorageEngine struct {

m map[string]string
mutex sync.RWMutex
}

func NewStorageEngine() *StorageEngine {
se := StorageEngine{}
return &se
s := StorageEngine{}
s.m = make(map[string]string)
return &s
}

func (s *StorageEngine) Insert(key, value string) bool {
s.mutex.Lock()
defer s.mutex.Unlock()
log.Printf("Inserting key {%s} with value {%s}", key, value)
s.m[key] = value
return true
}

func (s *StorageEngine) Lookup(key string) string {
s.mutex.RLock()
defer s.mutex.RUnlock()
log.Printf("Looking up key {%s}", key)
return s.m[key]
}

func (s *StorageEngine) Delete(key string) bool {
s.mutex.Lock()
defer s.mutex.Unlock()
log.Printf("Deleting key {%s}", key)
delete(s.m, key)
return true
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package store
package storage_engine

import "testing"


func TestInsertAndLookup(t *testing.T) {
s := NewStore()
s := NewStorageEngine()
s.Insert("hello", "world")
value := s.Lookup("hello")
if value != "world" {
Expand All @@ -13,7 +13,7 @@ func TestInsertAndLookup(t *testing.T) {
}

func TestDelete(t *testing.T) {
s := NewStore()
s := NewStorageEngine()
s.Insert("hello", "world")
s.Delete("hello")
value := s.Lookup("hello")
Expand Down
41 changes: 0 additions & 41 deletions server/store/store.go

This file was deleted.

0 comments on commit 584b1d4

Please sign in to comment.