summaryrefslogtreecommitdiff
path: root/internal/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/server.go')
-rw-r--r--internal/server.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/internal/server.go b/internal/server.go
index 667aa97..f317fd6 100644
--- a/internal/server.go
+++ b/internal/server.go
@@ -3,11 +3,14 @@ package ircd
import (
"log"
"net"
+
+ "github.com/go-ini/ini"
)
type Server struct {
clients []*Client
listener net.Listener
+ cfg *ini.File
}
func (s *Server) Run() {
@@ -29,7 +32,9 @@ func (s *Server) Close() {
s.listener.Close()
}
-func NewIRCServer(address string) (*Server, error) {
+func NewIRCServer(cfg *ini.File) (*Server, error) {
+ address := cfg.Section("address").Key("host").String()
+
listener, err := net.Listen("tcp", address)
if err != nil {
return nil, err
@@ -40,6 +45,7 @@ func NewIRCServer(address string) (*Server, error) {
s := Server{
clients: []*Client{},
listener: listener,
+ cfg: cfg,
}
return &s, nil