github.com/Cloud-Foundations/Dominator@v0.3.4/imageserver/client/listSelectedImages.go (about)

     1  package client
     2  
     3  import (
     4  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     5  	proto "github.com/Cloud-Foundations/Dominator/proto/imageserver"
     6  )
     7  
     8  func listSelectedImages(client srpc.ClientI,
     9  	request proto.ListSelectedImagesRequest) ([]string, error) {
    10  	conn, err := client.Call("ImageServer.ListSelectedImages")
    11  	if err != nil {
    12  		return nil, err
    13  	}
    14  	defer conn.Close()
    15  	if err := conn.Encode(request); err != nil {
    16  		return nil, err
    17  	}
    18  	if err := conn.Flush(); err != nil {
    19  		return nil, err
    20  	}
    21  	images := make([]string, 0)
    22  	for {
    23  		line, err := conn.ReadString('\n')
    24  		if err != nil {
    25  			return nil, err
    26  		}
    27  		line = line[:len(line)-1]
    28  		if line == "" {
    29  			break
    30  		}
    31  		images = append(images, line)
    32  	}
    33  	return images, nil
    34  }