diff options
Diffstat (limited to 'internal/server.go')
| -rw-r--r-- | internal/server.go | 8 |
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 |
