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 }