github.com/Cloud-Foundations/Dominator@v0.3.4/imagebuilder/builder/streams.go (about)

     1  package builder
     2  
     3  func (b *Builder) getBootstrapStream(name string) *bootstrapStream {
     4  	b.streamsLock.RLock()
     5  	defer b.streamsLock.RUnlock()
     6  	return b.bootstrapStreams[name]
     7  }
     8  
     9  func (b *Builder) getNormalStream(name string) *imageStreamType {
    10  	b.streamsLock.RLock()
    11  	defer b.streamsLock.RUnlock()
    12  	return b.imageStreams[name]
    13  }
    14  
    15  func (b *Builder) getNumBootstrapStreams() int {
    16  	b.streamsLock.RLock()
    17  	defer b.streamsLock.RUnlock()
    18  	return len(b.bootstrapStreams)
    19  }
    20  
    21  func (b *Builder) getNumNormalStreams() int {
    22  	b.streamsLock.RLock()
    23  	defer b.streamsLock.RUnlock()
    24  	return len(b.imageStreams)
    25  }
    26  
    27  func (b *Builder) getNumStreams() int {
    28  	b.streamsLock.RLock()
    29  	defer b.streamsLock.RUnlock()
    30  	return len(b.bootstrapStreams) + len(b.imageStreams)
    31  }
    32  
    33  func (b *Builder) listAllStreamNames() []string {
    34  	b.streamsLock.RLock()
    35  	defer b.streamsLock.RUnlock()
    36  	imageStreamNames := make([]string, 0,
    37  		len(b.bootstrapStreams)+len(b.imageStreams))
    38  	for name := range b.bootstrapStreams {
    39  		imageStreamNames = append(imageStreamNames, name)
    40  	}
    41  	for name := range b.imageStreams {
    42  		imageStreamNames = append(imageStreamNames, name)
    43  	}
    44  	return imageStreamNames
    45  }
    46  
    47  func (b *Builder) listBootstrapStreamNames() []string {
    48  	b.streamsLock.RLock()
    49  	defer b.streamsLock.RUnlock()
    50  	imageStreamNames := make([]string, 0, len(b.bootstrapStreams))
    51  	for name := range b.bootstrapStreams {
    52  		imageStreamNames = append(imageStreamNames, name)
    53  	}
    54  	return imageStreamNames
    55  }
    56  
    57  func (b *Builder) listNormalStreamNames() []string {
    58  	b.streamsLock.RLock()
    59  	defer b.streamsLock.RUnlock()
    60  	imageStreamNames := make([]string, 0, len(b.imageStreams))
    61  	for name := range b.imageStreams {
    62  		imageStreamNames = append(imageStreamNames, name)
    63  	}
    64  	return imageStreamNames
    65  }
    66  
    67  func (b *Builder) listStreamsToAutoRebuild() []string {
    68  	b.streamsLock.RLock()
    69  	defer b.streamsLock.RUnlock()
    70  	imageStreamNames := make([]string, len(b.imageStreamsToAutoRebuild))
    71  	copy(imageStreamNames, b.imageStreamsToAutoRebuild)
    72  	return imageStreamNames
    73  }