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 }