made add* and get* methods private

This commit is contained in:
travisturner 2013-12-10 14:54:06 -06:00
parent 0cf2ddb086
commit 7f52ff759e
3 changed files with 35 additions and 37 deletions

View file

@ -106,7 +106,7 @@ func (service *Service) MetaWatcher() {
if key == "frame" {
for _, frame_ref := range database_attr_ref.Nodes {
frame_name := frame_ref.Key[len(database_attr_ref.Key)+1:]
frame := database.AddFrame(frame_name)
frame := database.GetOrCreateFrame(frame_name)
for _, frame_attr_ref := range frame_ref.Nodes {
key = frame_attr_ref.Key[len(frame_ref.Key)+1:]
if key == "slice" {
@ -116,7 +116,7 @@ func (service *Service) MetaWatcher() {
if err != nil {
log.Fatal(err)
}
slice := database.AddSlice(slice_id)
slice := database.GetOrCreateSlice(slice_id)
for _, slice_attr_ref := range slice_ref.Nodes {
key = slice_attr_ref.Key[len(slice_ref.Key)+1:]
if key == "fragment" {

View file

@ -2,7 +2,7 @@ package db
import (
"github.com/stathat/consistent"
//"github.com/davecgh/go-spew/spew"
"github.com/davecgh/go-spew/spew"
"github.com/nu7hatch/gouuid"
"log"
"fmt"
@ -130,9 +130,7 @@ type Frame struct {
}
// Get a frame from a database
func (d *Database) GetFrame(name string) (*Frame, error) {
d.mutex.Lock()
defer d.mutex.Unlock()
func (d *Database) getFrame(name string) (*Frame, error) {
for _, frame := range d.frames {
if frame.name == name {
return frame, nil
@ -142,9 +140,7 @@ func (d *Database) GetFrame(name string) (*Frame, error) {
}
// Add a frame to a database
func (d *Database) AddFrame(name string) *Frame {
d.mutex.Lock()
defer d.mutex.Unlock()
func (d *Database) addFrame(name string) *Frame {
frame := Frame{name: name}
d.frames = append(d.frames, &frame)
// add intersections
@ -157,11 +153,11 @@ func (d *Database) AddFrame(name string) *Frame {
func (d *Database) GetOrCreateFrame(name string) *Frame {
d.mutex.Lock()
defer d.mutex.Unlock()
frame, err := d.GetFrame(name)
frame, err := d.getFrame(name)
if err == nil {
return frame
}
return d.AddFrame(name)
return d.addFrame(name)
}
@ -173,9 +169,7 @@ type Slice struct {
}
// Get a slice from a database
func (d *Database) GetSlice(slice_id int) (*Slice, error) {
d.mutex.Lock()
defer d.mutex.Unlock()
func (d *Database) getSlice(slice_id int) (*Slice, error) {
for _, slice := range d.slices {
if slice.id == slice_id {
return slice, nil
@ -185,9 +179,7 @@ func (d *Database) GetSlice(slice_id int) (*Slice, error) {
}
// Add a slice to a database
func (d *Database) AddSlice(slice_id int) *Slice {
d.mutex.Lock()
defer d.mutex.Unlock()
func (d *Database) addSlice(slice_id int) *Slice {
slice := Slice{id: slice_id}
d.slices = append(d.slices, &slice)
// add intersections
@ -200,11 +192,11 @@ func (d *Database) AddSlice(slice_id int) *Slice {
func (d *Database) GetOrCreateSlice(slice_id int) *Slice {
d.mutex.Lock()
defer d.mutex.Unlock()
slice, err := d.GetSlice(slice_id)
slice, err := d.getSlice(slice_id)
if err == nil {
return slice
}
return d.AddSlice(slice_id)
return d.addSlice(slice_id)
}
@ -246,6 +238,8 @@ func (fsi *FrameSliceIntersect) GetFragment(fragment_id *uuid.UUID) (*Fragment,
func (fsi *FrameSliceIntersect) AddFragment(fragment *Fragment) {
fsi.fragments = append(fsi.fragments, fragment)
fsi.hashring.Add(fragment.id.String())
spew.Dump("DUMPY")
spew.Dump(fragment.id.String())
}
@ -263,7 +257,7 @@ func (d *Database) OldGetFragment(bitmap Bitmap, profile_id int) (*Fragment, err
d.mutex.Lock()
defer d.mutex.Unlock()
slice, _ := d.GetSliceForProfile(profile_id)
frame, _ := d.GetFrame(bitmap.FrameType)
frame, _ := d.getFrame(bitmap.FrameType)
fsi, err := d.GetFrameSliceIntersect(frame, slice)
frag_id_s, err := fsi.hashring.Get(fmt.Sprintf("%d", bitmap.Id))
frag_id, err := uuid.ParseHex(frag_id_s)
@ -277,7 +271,7 @@ func (d *Database) OldGetFragment(bitmap Bitmap, profile_id int) (*Fragment, err
/*
// NOT IMPLEMENTED
// this would loop through all frame_slice_intersect[], then all fragmments to find a match
func (d *Database) GetFragment(fragment_id *uuid.UUID) *Fragment {
func (d *Database) GetFragmentById(fragment_id *uuid.UUID) *Fragment {
}
*/
func (d *Database) GetFragment(frame *Frame, slice *Slice, fragment_id *uuid.UUID) (*Fragment, error) {
@ -354,7 +348,7 @@ func (f *Fragment) SetProcess(process *Process) {
// Get a slice from a database
func (d *Database) GetSliceForProfile(profile_id int) (*Slice, error) {
slice_id := profile_id / SLICE_WIDTH
return d.GetSlice(slice_id)
return d.getSlice(slice_id)
}

View file

@ -24,13 +24,18 @@ func TestTopology(t *testing.T) {
*/
cluster := NewCluster()
database := cluster.AddDatabase("property49")
database.AddFrame("general")
//database.AddFrame("brands")
database.AddSlice(0)
database.AddSlice(1)
//database.AddSlice()
database := cluster.AddDatabase("main")
frame := database.GetOrCreateFrame("general")
slice := database.GetOrCreateSlice(0)
fragment_id, _ := uuid.ParseHex("6a9aea17-2915-4eb4-858f-a8d7d4dc0a1e")
spew.Dump(fragment_id)
database.AddFragment(frame, slice, fragment_id)
spew.Dump(database)
/*
log.Println(database)
log.Println("----------------------------------")
for _, fsi := range database.frame_slice_intersects {
@ -38,12 +43,10 @@ func TestTopology(t *testing.T) {
}
num_slices, _ := database.NumSlices()
log.Println(num_slices)
*/
frame, _ := database.GetFrame("general")
slice, _ := database.GetSlice(0)
log.Println(frame)
log.Println(slice)
//frame, _ := database.GetFrame("general")
//slice, _ := database.GetSlice(0)
//loc1, _ := NewLocation("192.168.1.100:8001")
/*
@ -61,8 +64,9 @@ func TestTopology(t *testing.T) {
database.AddFragment(frame, slice, loc1, 4)
*/
uuid, _ := uuid.ParseHex("6a9aea17-2915-4eb4-858f-a8d7d4dc0a1e")
database.AddFragment(frame, slice, uuid)
//uuid, _ := uuid.ParseHex("6a9aea17-2915-4eb4-858f-a8d7d4dc0a1e")
//spew.Dump(uuid)
////database.AddFragment(frame, slice, uuid)
/*
database.AddFragment(frame, slice, process)
database.AddFragment(frame, slice, process)
@ -86,8 +90,8 @@ func TestTopology(t *testing.T) {
log.Println(errer)
*/
bitmap := Bitmap{Id: 555, FrameType: "general"}
log.Println("bitmap:",bitmap)
////bitmap := Bitmap{Id: 555, FrameType: "general"}
////log.Println("bitmap:",bitmap)
/*
profile_id := 65535