func (s *Status) NewComponent() *Component {
	c := &Component{
		total:    new(uint64),
		progress: new(uint64),
		ready:    new(int32),
		status:   s,
	}
	s.mu.Lock()
	s.components = append(s.components, c)
	s.mu.Unlock()
	return c
}
// NewComponent returns a new sub-component of the aggregate status.
NewComponent returns a new sub-component of the aggregate status.
// NewComponent returns a new sub - component of the aggregate status .
func (s *Status) NewComponent() *Component {
	c := &Component{
		total:    new(uint64),
		progress: new(uint64),
		ready:    new(int32),
		status:   s,
	}
	s.mu.Lock()
	s.components = append(s.components, c)
	s.mu.Unlock()
	return c
}
func ( s * Status ) NewComponent ( ) * Component { c := & Component { total : new ( uint64 ) , progress : new ( uint64 ) , ready : new ( int32 ) , status : s , } s . mu . Lock ( ) s . components = append ( s . components , c ) s . mu . Unlock ( ) return c }
NewComponent returns a new sub-component of the aggregate status.
NewComponent returns a new sub - component of the aggregate status .