servers

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 15, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrServerNotFound = errors.New("the requested server was not found")
	ErrServerExists   = errors.New("server already exists")
)
View Source
var ErrInvalidQueryPort = errors.New("invalid port number")

Functions

func OnConflictIgnore

func OnConflictIgnore(_ *Server) bool

Types

type FilterSet

type FilterSet struct {
	// contains filtered or unexported fields
}

func NewFilterSet

func NewFilterSet() FilterSet

func (FilterSet) ActiveAfter added in v0.3.0

func (fs FilterSet) ActiveAfter(after time.Time) FilterSet

func (FilterSet) ActiveBefore added in v0.3.0

func (fs FilterSet) ActiveBefore(before time.Time) FilterSet

func (FilterSet) GetActiveAfter added in v0.3.0

func (fs FilterSet) GetActiveAfter() (time.Time, bool)

func (FilterSet) GetActiveBefore added in v0.3.0

func (fs FilterSet) GetActiveBefore() (time.Time, bool)

func (FilterSet) GetNoStatus

func (fs FilterSet) GetNoStatus() (ds.DiscoveryStatus, bool)

func (FilterSet) GetUpdatedAfter added in v0.3.0

func (fs FilterSet) GetUpdatedAfter() (time.Time, bool)

func (FilterSet) GetUpdatedBefore added in v0.3.0

func (fs FilterSet) GetUpdatedBefore() (time.Time, bool)

func (FilterSet) GetWithStatus

func (fs FilterSet) GetWithStatus() (ds.DiscoveryStatus, bool)

func (FilterSet) NoStatus

func (fs FilterSet) NoStatus(status ds.DiscoveryStatus) FilterSet

func (FilterSet) ResetStatus

func (fs FilterSet) ResetStatus() FilterSet

func (FilterSet) UpdatedAfter added in v0.3.0

func (fs FilterSet) UpdatedAfter(after time.Time) FilterSet

func (FilterSet) UpdatedBefore added in v0.3.0

func (fs FilterSet) UpdatedBefore(before time.Time) FilterSet

func (FilterSet) WithStatus

func (fs FilterSet) WithStatus(status ds.DiscoveryStatus) FilterSet

type Repository

type Repository interface {
	Get(ctx context.Context, addr addr.Addr) (Server, error)
	Add(ctx context.Context, server Server, onConflict func(*Server) bool) (Server, error)
	Update(ctx context.Context, server Server, onConflict func(*Server) bool) (Server, error)
	Remove(ctx context.Context, server Server, onConflict func(*Server) bool) error
	Filter(ctx context.Context, fs FilterSet) ([]Server, error)
	Count(ctx context.Context) (int, error)
	CountByStatus(ctx context.Context) (map[ds.DiscoveryStatus]int, error)
}

type Server

type Server struct {
	// contains filtered or unexported fields
}
var Blank Server // nolint: gochecknoglobals

func MustNew

func MustNew(ip net.IP, port, queryPort int) Server

func New

func New(ip net.IP, port, queryPort int) (Server, error)

func NewFromAddr

func NewFromAddr(addr addr.Addr, queryPort int) (Server, error)

func (*Server) ClearDiscoveryStatus

func (gs *Server) ClearDiscoveryStatus(status ds.DiscoveryStatus)

func (*Server) GetAddr

func (gs *Server) GetAddr() addr.Addr

func (*Server) GetDetails

func (gs *Server) GetDetails() details.Details

func (*Server) GetDiscoveryStatus

func (gs *Server) GetDiscoveryStatus() ds.DiscoveryStatus

func (*Server) GetDottedIP

func (gs *Server) GetDottedIP() string

func (*Server) GetGamePort

func (gs *Server) GetGamePort() int

func (*Server) GetIP

func (gs *Server) GetIP() net.IP

func (*Server) GetInfo

func (gs *Server) GetInfo() details.Info

func (*Server) GetQueryPort

func (gs *Server) GetQueryPort() int

func (*Server) GetRefreshedAt

func (gs *Server) GetRefreshedAt() time.Time

func (*Server) GetVersion

func (gs *Server) GetVersion() int

func (*Server) HasAnyDiscoveryStatus

func (gs *Server) HasAnyDiscoveryStatus(status ds.DiscoveryStatus) bool

func (*Server) HasDiscoveryStatus

func (gs *Server) HasDiscoveryStatus(status ds.DiscoveryStatus) bool

func (*Server) HasNoDiscoveryStatus

func (gs *Server) HasNoDiscoveryStatus(status ds.DiscoveryStatus) bool

func (*Server) IncVersion

func (gs *Server) IncVersion()

func (*Server) Refresh

func (gs *Server) Refresh(updatedAt time.Time)

func (Server) String

func (gs Server) String() string

func (*Server) UpdateDetails

func (gs *Server) UpdateDetails(det details.Details, updatedAt time.Time)

func (*Server) UpdateDiscoveryStatus

func (gs *Server) UpdateDiscoveryStatus(status ds.DiscoveryStatus)

func (*Server) UpdateInfo

func (gs *Server) UpdateInfo(info details.Info, updatedAt time.Time)

func (*Server) UpdateQueryPort

func (gs *Server) UpdateQueryPort(port int)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL