mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
42 lines
940 B
Go
42 lines
940 B
Go
// Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
// Licensed under the GNU Affero General Public License (AGPL).
|
|
// See License.AGPL.txt in the project root for license information.
|
|
|
|
package hosts
|
|
|
|
// NewFixedIPSource creates a new fixed IP source
|
|
func NewFixedIPSource(alias string, hosts []Host) *FixedIPSource {
|
|
return &FixedIPSource{
|
|
Alias: alias,
|
|
Hosts: hosts,
|
|
c: make(chan []Host),
|
|
}
|
|
}
|
|
|
|
// FixedIPSource is a Host source that's fixed at configuration time
|
|
type FixedIPSource struct {
|
|
Alias string
|
|
Hosts []Host
|
|
|
|
c chan []Host
|
|
}
|
|
|
|
// Name returns the ID of this source
|
|
func (fi FixedIPSource) Name() string {
|
|
return fi.Alias
|
|
}
|
|
|
|
// Start starts the source
|
|
func (fi FixedIPSource) Start() error {
|
|
fi.c <- fi.Hosts
|
|
return nil
|
|
}
|
|
|
|
// Source provides hosts on the channel
|
|
func (fi FixedIPSource) Source() <-chan []Host {
|
|
return fi.c
|
|
}
|
|
|
|
// Stop stops this source from providing hosts
|
|
func (fi FixedIPSource) Stop() {}
|