github.com/Cloud-Foundations/Dominator@v0.3.4/imageunpacker/unpacker/getStatus.go (about) 1 package unpacker 2 3 import ( 4 "time" 5 6 proto "github.com/Cloud-Foundations/Dominator/proto/imageunpacker" 7 ) 8 9 func (u *Unpacker) getStatus() proto.GetStatusResponse { 10 u.rwMutex.RLock() 11 defer u.rwMutex.RUnlock() 12 devices := make(map[string]proto.DeviceInfo) 13 imageStreams := make(map[string]proto.ImageStreamInfo, 14 len(u.pState.ImageStreams)) 15 for deviceId, device := range u.pState.Devices { 16 devices[deviceId] = proto.DeviceInfo{ 17 device.DeviceName, device.size, device.StreamName} 18 } 19 for name, stream := range u.pState.ImageStreams { 20 imageStreams[name] = proto.ImageStreamInfo{ 21 stream.DeviceId, stream.status} 22 } 23 return proto.GetStatusResponse{devices, imageStreams, 24 time.Since(u.lastUsedTime)} 25 }