maybe non blocking with a new reader
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"io"
|
"io"
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
@@ -29,8 +30,9 @@ func (p *CartPacketQueue) HandleConnection(connection net.Conn) error {
|
|||||||
|
|
||||||
defer connection.Close()
|
defer connection.Close()
|
||||||
var packet CartPacket
|
var packet CartPacket
|
||||||
|
reader := bufio.NewReader(connection)
|
||||||
for {
|
for {
|
||||||
err := ReadCartPacket(connection, &packet)
|
err := ReadCartPacket(reader, &packet)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == io.EOF {
|
if err == io.EOF {
|
||||||
return nil
|
return nil
|
||||||
@@ -49,7 +51,7 @@ func (p *CartPacketQueue) HandleConnection(connection net.Conn) error {
|
|||||||
})
|
})
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
data, err := GetPacketData(connection, packet.DataLength)
|
data, err := GetPacketData(reader, packet.DataLength)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error receiving packet data: %v\n", err)
|
log.Printf("Error receiving packet data: %v\n", err)
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"io"
|
"io"
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
@@ -34,8 +35,9 @@ func (p *PacketQueue) HandleConnection(connection net.Conn) error {
|
|||||||
|
|
||||||
defer connection.Close()
|
defer connection.Close()
|
||||||
var packet Packet
|
var packet Packet
|
||||||
|
reader := bufio.NewReader(connection)
|
||||||
for {
|
for {
|
||||||
err := ReadPacket(connection, &packet)
|
err := ReadPacket(reader, &packet)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == io.EOF {
|
if err == io.EOF {
|
||||||
return nil
|
return nil
|
||||||
@@ -54,7 +56,7 @@ func (p *PacketQueue) HandleConnection(connection net.Conn) error {
|
|||||||
})
|
})
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
data, err := GetPacketData(connection, packet.DataLength)
|
data, err := GetPacketData(reader, packet.DataLength)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error receiving packet data: %v\n", err)
|
log.Printf("Error receiving packet data: %v\n", err)
|
||||||
//return err
|
//return err
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"io"
|
"io"
|
||||||
"log"
|
"log"
|
||||||
@@ -103,8 +104,9 @@ func (m *TCPCartServerMux) HandleConnection(connection net.Conn) error {
|
|||||||
var packet CartPacket
|
var packet CartPacket
|
||||||
var err error
|
var err error
|
||||||
defer connection.Close()
|
defer connection.Close()
|
||||||
|
reader := bufio.NewReader(connection)
|
||||||
for {
|
for {
|
||||||
err = ReadCartPacket(connection, &packet)
|
err = ReadCartPacket(reader, &packet)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == io.EOF {
|
if err == io.EOF {
|
||||||
return nil
|
return nil
|
||||||
@@ -116,7 +118,7 @@ func (m *TCPCartServerMux) HandleConnection(connection net.Conn) error {
|
|||||||
log.Printf("Incorrect packet version: %d\n", packet.Version)
|
log.Printf("Incorrect packet version: %d\n", packet.Version)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
data, err := GetPacketData(connection, packet.DataLength)
|
data, err := GetPacketData(reader, packet.DataLength)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error getting packet data: %v\n", err)
|
log.Printf("Error getting packet data: %v\n", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"io"
|
"io"
|
||||||
"log"
|
"log"
|
||||||
@@ -100,8 +101,9 @@ func (m *TCPServerMux) HandleConnection(connection net.Conn) error {
|
|||||||
|
|
||||||
defer connection.Close()
|
defer connection.Close()
|
||||||
var packet Packet
|
var packet Packet
|
||||||
|
reader := bufio.NewReader(connection)
|
||||||
for {
|
for {
|
||||||
err := ReadPacket(connection, &packet)
|
err := ReadPacket(reader, &packet)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == io.EOF {
|
if err == io.EOF {
|
||||||
return nil
|
return nil
|
||||||
@@ -113,7 +115,7 @@ func (m *TCPServerMux) HandleConnection(connection net.Conn) error {
|
|||||||
log.Printf("Incorrect package version: %v\n", err)
|
log.Printf("Incorrect package version: %v\n", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
data, err := GetPacketData(connection, packet.DataLength)
|
data, err := GetPacketData(reader, packet.DataLength)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error receiving packet data: %v\n", err)
|
log.Printf("Error receiving packet data: %v\n", err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user