func (s *Session) handleSend() { var buf [RECV_BUF_SIZE]byte var packet *pokerth.PokerTHMessage for { select { case packet = <-s.sender: packetSize := s.WritePacket(buf[0:RECV_BUF_SIZE], packet) if packetSize > 0 { var bufStart uint32 = 0 for bufStart < packetSize { num, err := s.Connection.Write(buf[bufStart:packetSize]) if err != nil { log.Printf("Write error: %s\n", err.Error()) return } bufStart += uint32(num) } log.Printf("Packet out: %d, size: %d\n", packet.GetMessageType(), packetSize) } } } }