Make Ingest.Listener private and add (*Ingest).Stop method

Signed-off-by: AKP <tom@tdpain.net>
This commit is contained in:
akp 2023-04-01 13:39:21 +01:00
parent 3f6ae59538
commit 7ab4e7e0d4
No known key found for this signature in database
GPG key ID: AA5726202C8879B7
2 changed files with 9 additions and 5 deletions

View file

@ -12,7 +12,7 @@ import (
type Ingest struct {
db *db.DB
Listener net.Listener
listener net.Listener
}
func Start(conf *config.Config, database *db.DB) (*Ingest, error) {
@ -21,21 +21,25 @@ func Start(conf *config.Config, database *db.DB) (*Ingest, error) {
}
var err error
ingest.Listener, err = net.Listen("tcp", conf.Ingest.Address)
ingest.listener, err = net.Listen("tcp", conf.Ingest.Address)
if err != nil {
return nil, err
}
go ingest.serveConnections()
log.Info().Msgf("listener alive on %s", ingest.Listener.Addr().String())
log.Info().Msgf("listener alive on %s", ingest.listener.Addr().String())
return ingest, nil
}
func (i *Ingest) Stop() error {
return i.listener.Close()
}
func (i *Ingest) serveConnections() {
for {
conn, err := i.Listener.Accept()
conn, err := i.listener.Accept()
if err != nil {
if errors.Is(err, net.ErrClosed) {
break

View file

@ -36,7 +36,7 @@ func run() error {
log.Info().Msg("terminating")
_ = ig.Listener.Close()
_ = ig.Stop()
return nil
}