github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/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) getNumNormalStreams() int {
    16  	b.streamsLock.RLock()
    17  	defer b.streamsLock.RUnlock()
    18  	return len(b.imageStreams)
    19  }
    20  
    21  func (b *Builder) listAllStreamNames() []string {
    22  	b.streamsLock.RLock()
    23  	defer b.streamsLock.RUnlock()
    24  	imageStreamNames := make([]string, 0,
    25  		len(b.bootstrapStreams)+len(b.imageStreams))
    26  	for name := range b.bootstrapStreams {
    27  		imageStreamNames = append(imageStreamNames, name)
    28  	}
    29  	for name := range b.imageStreams {
    30  		imageStreamNames = append(imageStreamNames, name)
    31  	}
    32  	return imageStreamNames
    33  }
    34  
    35  func (b *Builder) listBootstrapStreamNames() []string {
    36  	b.streamsLock.RLock()
    37  	defer b.streamsLock.RUnlock()
    38  	imageStreamNames := make([]string, 0, len(b.bootstrapStreams))
    39  	for name := range b.bootstrapStreams {
    40  		imageStreamNames = append(imageStreamNames, name)
    41  	}
    42  	return imageStreamNames
    43  }
    44  
    45  func (b *Builder) listNormalStreamNames() []string {
    46  	b.streamsLock.RLock()
    47  	defer b.streamsLock.RUnlock()
    48  	imageStreamNames := make([]string, 0, len(b.imageStreams))
    49  	for name := range b.imageStreams {
    50  		imageStreamNames = append(imageStreamNames, name)
    51  	}
    52  	return imageStreamNames
    53  }
    54  
    55  func (b *Builder) listStreamsToAutoRebuild() []string {
    56  	b.streamsLock.RLock()
    57  	defer b.streamsLock.RUnlock()
    58  	imageStreamNames := make([]string, len(b.imageStreamsToAutoRebuild))
    59  	copy(imageStreamNames, b.imageStreamsToAutoRebuild)
    60  	return imageStreamNames
    61  }