reformatting

This commit is contained in:
Chris Lu 2012-09-03 19:18:02 -07:00
parent 09542d82b4
commit fbe828e486
2 changed files with 66 additions and 73 deletions

View file

@ -1,10 +1,10 @@
package main
import (
"pkg/directory"
"encoding/json"
"log"
"net/http"
"pkg/directory"
"pkg/storage"
"strconv"
"strings"
@ -41,17 +41,17 @@ func dirLookupHandler(w http.ResponseWriter, r *http.Request) {
volumeId, _ := storage.NewVolumeId(vid)
machine, e := mapper.Get(volumeId)
if e == nil {
writeJson(w, r, machine.Server)
writeJson(w, r, map[string]string{"url": machine.Url, "publicUrl": machine.PublicUrl})
} else {
log.Println("Invalid volume id", volumeId)
writeJson(w, r, map[string]string{"error": "volume id " + volumeId.String() + " not found"})
}
}
func dirAssignHandler(w http.ResponseWriter, r *http.Request) {
c:=r.FormValue("count")
c := r.FormValue("count")
fid, count, machine, err := mapper.PickForWrite(c)
if err == nil {
writeJson(w, r, map[string]string{"fid": fid, "url": machine.Url, "publicUrl":machine.PublicUrl, "count":strconv.Itoa(count)})
writeJson(w, r, map[string]string{"fid": fid, "url": machine.Url, "publicUrl": machine.PublicUrl, "count": strconv.Itoa(count)})
} else {
writeJson(w, r, map[string]string{"error": err.Error()})
}

View file

@ -10,18 +10,11 @@ import (
"sync"
)
const (
FileIdSaveInterval = 10000
)
type MachineInfo struct {
type Machine struct {
Volumes []storage.VolumeInfo
Url string //<server name/ip>[:port]
PublicUrl string
}
type Machine struct {
Server MachineInfo
Volumes []storage.VolumeInfo
}
type Mapper struct {
volumeLock sync.Mutex
@ -35,7 +28,7 @@ type Mapper struct {
}
func NewMachine(server, publicUrl string, volumes []storage.VolumeInfo) *Machine {
return &Machine{Server: MachineInfo{Url: server, PublicUrl: publicUrl}, Volumes: volumes}
return &Machine{Url: server, PublicUrl: publicUrl, Volumes: volumes}
}
func NewMapper(dirname string, filename string, volumeSizeLimit uint64) (m *Mapper) {
@ -49,7 +42,7 @@ func NewMapper(dirname string, filename string, volumeSizeLimit uint64) (m *Mapp
return
}
func (m *Mapper) PickForWrite(c string) (string, int, *MachineInfo, error) {
func (m *Mapper) PickForWrite(c string) (string, int, *Machine, error) {
len_writers := len(m.Writers)
if len_writers <= 0 {
log.Println("No more writable volumes!")
@ -61,11 +54,11 @@ func (m *Mapper) PickForWrite(c string) (string, int, *MachineInfo, error) {
machine := m.Machines[machine_id-1]
fileId, count := m.sequence.NextFileId(util.ParseInt(c, 1))
if count == 0 {
return "", 0, &m.Machines[rand.Intn(len(m.Machines))].Server, errors.New("Strange count:" + c)
return "", 0, m.Machines[rand.Intn(len(m.Machines))], errors.New("Strange count:" + c)
}
return NewFileId(vid, fileId, rand.Uint32()).String(), count, &machine.Server, nil
return NewFileId(vid, fileId, rand.Uint32()).String(), count, machine, nil
}
return "", 0, &m.Machines[rand.Intn(len(m.Machines))].Server, errors.New("Strangely vid " + vid.String() + " is on no machine!")
return "", 0, m.Machines[rand.Intn(len(m.Machines))], errors.New("Strangely vid " + vid.String() + " is on no machine!")
}
func (m *Mapper) Get(vid storage.VolumeId) (*Machine, error) {
machineId := m.vid2machineId[vid]
@ -80,7 +73,7 @@ func (m *Mapper) Add(machine Machine) {
m.volumeLock.Lock()
foundExistingMachineId := -1
for index, entry := range m.Machines {
if machine.Server.Url == entry.Server.Url {
if machine.Url == entry.Url {
foundExistingMachineId = index
break
}