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  }