check versions
Some checks failed
Build and Publish / BuildAndDeploy (push) Has been cancelled

This commit is contained in:
matst80
2024-11-11 21:20:07 +01:00
parent c8488835cd
commit c0d6120261
5 changed files with 24 additions and 5 deletions

View File

@@ -12,6 +12,8 @@ type CartPacketQueue struct {
expectedPackages map[uint32]*CartListener
}
const CurrentPacketVersion = 2
type CartListener map[CartId]chan []byte
func NewCartPacketQueue(connection net.Conn) *CartPacketQueue {
@@ -36,6 +38,14 @@ func (p *CartPacketQueue) HandleConnection(connection net.Conn) error {
log.Printf("Error receiving packet: %v\n", err)
return err
}
if packet.Version != CurrentPacketVersion {
log.Printf("Error receiving packet: %v\n", err)
continue
}
if packet.DataLength == 0 {
go p.HandleData(packet.MessageType, packet.Id, []byte{})
continue
}
data, err := GetPacketData(connection, packet.DataLength)
if err != nil {
log.Printf("Error receiving packet data: %v\n", err)

View File

@@ -52,13 +52,22 @@ func (p *PacketQueue) HandleConnection(connection net.Conn) error {
log.Printf("Error receiving packet: %v\n", err)
return err
}
if packet.Version != CurrentPacketVersion {
log.Printf("Error receiving packet: %v\n", err)
continue
}
if packet.DataLength == 0 {
go p.HandleData(packet.MessageType, []byte{})
continue
}
data, err := GetPacketData(connection, packet.DataLength)
if err != nil {
log.Printf("Error receiving packet data: %v\n", err)
return err
}
//return err
} else {
go p.HandleData(packet.MessageType, data)
}
}
}
func (p *PacketQueue) HandleData(t uint32, data []byte) {

View File

@@ -73,7 +73,7 @@ func (m *TCPCartServerMux) handleFunction(connection net.Conn, messageType uint3
return true, err
}
err = binary.Write(connection, binary.LittleEndian, CartPacket{
Version: 1,
Version: CurrentPacketVersion,
MessageType: responseType,
DataLength: uint64(len(responseData)),
Id: id,

View File

@@ -75,7 +75,7 @@ func (m *TCPClient) SendPacket(messageType uint32, data []byte) error {
return err
}
err = binary.Write(m.Conn, binary.LittleEndian, Packet{
Version: 1,
Version: CurrentPacketVersion,
MessageType: messageType,
DataLength: uint64(len(data)),
})

View File

@@ -73,7 +73,7 @@ func (m *TCPServerMux) handleFunction(connection net.Conn, messageType uint32, d
return true, err
}
err = binary.Write(connection, binary.LittleEndian, Packet{
Version: 1,
Version: CurrentPacketVersion,
MessageType: responseType,
DataLength: uint64(len(responseData)),
})