mirror of
https://github.com/Mezeporta/Erupe.git
synced 2025-12-13 07:25:03 +01:00
concatenate packets during send
This commit is contained in:
@@ -21,7 +21,6 @@ func handleMsgMhfLoadPartner(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
data = make([]byte, 9)
|
data = make([]byte, 9)
|
||||||
}
|
}
|
||||||
doAckBufSucceed(s, pkt.AckHandle, data)
|
doAckBufSucceed(s, pkt.AckHandle, data)
|
||||||
doAckSimpleSucceed(s, pkt.AckHandle, []byte{0x00, 0x00, 0x00, 0x00})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleMsgMhfSavePartner(s *Session, p mhfpacket.MHFPacket) {
|
func handleMsgMhfSavePartner(s *Session, p mhfpacket.MHFPacket) {
|
||||||
|
|||||||
@@ -152,18 +152,21 @@ func (s *Session) QueueAck(ackHandle uint32, data []byte) {
|
|||||||
|
|
||||||
func (s *Session) sendLoop() {
|
func (s *Session) sendLoop() {
|
||||||
var pkt packet
|
var pkt packet
|
||||||
|
var buffer []byte
|
||||||
for {
|
for {
|
||||||
if s.closed {
|
if s.closed {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for len(s.sendPackets) > 0 {
|
for len(s.sendPackets) > 0 {
|
||||||
pkt = <-s.sendPackets
|
pkt = <-s.sendPackets
|
||||||
err := s.cryptConn.SendPacket(append(pkt.data, []byte{0x00, 0x10}...))
|
buffer = append(buffer, pkt.data...)
|
||||||
if err != nil {
|
|
||||||
s.logger.Warn("Failed to send packet")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
time.Sleep(5 * time.Millisecond)
|
err := s.cryptConn.SendPacket(append(buffer, []byte{0x00, 0x10}...))
|
||||||
|
if err != nil {
|
||||||
|
s.logger.Warn("Failed to send packet")
|
||||||
|
}
|
||||||
|
buffer = buffer[:0]
|
||||||
|
time.Sleep(100 * time.Millisecond)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +191,7 @@ func (s *Session) recvLoop() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
s.handlePacketGroup(pkt)
|
s.handlePacketGroup(pkt)
|
||||||
time.Sleep(5 * time.Millisecond)
|
time.Sleep(100 * time.Millisecond)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user