2012-08-24 03:56:09 +00:00
|
|
|
package topology
|
|
|
|
|
2012-08-24 05:56:14 +00:00
|
|
|
import (
|
|
|
|
"pkg/storage"
|
|
|
|
)
|
2012-08-24 03:56:09 +00:00
|
|
|
|
2012-08-28 08:04:39 +00:00
|
|
|
type NodeId string
|
2012-08-24 03:56:09 +00:00
|
|
|
type Node struct {
|
2012-08-28 08:04:39 +00:00
|
|
|
volumes map[storage.VolumeId]*storage.VolumeInfo
|
|
|
|
maxVolumeCount int
|
|
|
|
Ip NodeId
|
2012-08-24 05:33:37 +00:00
|
|
|
Port int
|
|
|
|
PublicUrl string
|
2012-08-27 20:52:02 +00:00
|
|
|
|
|
|
|
//transient
|
2012-08-28 08:04:39 +00:00
|
|
|
rack *Rack
|
2012-08-24 03:56:09 +00:00
|
|
|
}
|
2012-08-28 08:04:39 +00:00
|
|
|
func (n *Node) CreateOneVolume(r int, vid storage.VolumeId) storage.VolumeId {
|
|
|
|
n.AddVolume(&storage.VolumeInfo{Id:vid, Size: 32*1024*1024*1024})
|
|
|
|
return vid
|
2012-08-27 20:52:02 +00:00
|
|
|
}
|
2012-08-28 08:04:39 +00:00
|
|
|
func (n *Node) AddVolume(v *storage.VolumeInfo){
|
|
|
|
n.volumes[v.Id] = v
|
|
|
|
n.rack.AddVolume(n,v)
|
2012-08-27 20:52:02 +00:00
|
|
|
}
|