Skip to content

Commit

Permalink
Abstracted loop for IRC to ircclient
Browse files Browse the repository at this point in the history
  • Loading branch information
cfindlayisme committed Jan 3, 2024
1 parent 9da6b4f commit c8325e6
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 28 deletions.
30 changes: 26 additions & 4 deletions ircclient/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,34 @@ func Disconnect() error {
func setConnection(conn net.Conn) {
ircConnection = conn
}
func GetConnection() net.Conn {
return ircConnection
}

func ReturnPong(message string) {
func returnPong(message string) {
pongMessage := strings.Replace(message, "PING", "PONG", 1)
fmt.Fprintf(ircConnection, pongMessage+"\r\n")
fmt.Println("PONG returned to server PING")
}

func Loop() {
for {
message, err := readMessage(ircConnection)
if err != nil {
fmt.Println("Failed to read message:", err)
break
}

fmt.Println("Received message:", message)

if strings.HasPrefix(message, "PING") {
returnPong(message)
}
}
}

func readMessage(conn net.Conn) (string, error) {
buffer := make([]byte, 512)
n, err := conn.Read(buffer)
if err != nil {
return "", err
}
return string(buffer[:n]), nil
}
25 changes: 1 addition & 24 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@ package main

import (
"fmt"
"net"
"net/http"
"os"
"strings"

"github.com/cfindlayisme/wmb/env"
"github.com/cfindlayisme/wmb/ircclient"
Expand Down Expand Up @@ -101,28 +99,7 @@ func main() {
}
}()

for {
message, err := readMessage(ircclient.GetConnection())
if err != nil {
fmt.Println("Failed to read message:", err)
break
}

fmt.Println("Received message:", message)

if strings.HasPrefix(message, "PING") {
ircclient.ReturnPong(message)
}
}
ircclient.Loop()

ircclient.Disconnect()
}

func readMessage(conn net.Conn) (string, error) {
buffer := make([]byte, 512)
n, err := conn.Read(buffer)
if err != nil {
return "", err
}
return string(buffer[:n]), nil
}

0 comments on commit c8325e6

Please sign in to comment.