Esempio n. 1
0
        protected override void update()
        {
            while (true)
            {
                if (!active)
                {
                    return;
                }
                EzyPacket packet = packetQueue.take();
                if (packet == null)
                {
                    return;
                }
                int writtenBytes = writeToSocket(packet);

                packet.release();
                if (writtenBytes <= 0)
                {
                    return;
                }

                networkStatistics.getSocketStats().getNetworkStats().addWrittenPackets(1);
                networkStatistics.getSocketStats().getNetworkStats().addWrittenBytes(writtenBytes);
            }
        }
Esempio n. 2
0
 protected override int writeToSocket(EzyPacket packet)
 {
     try {
         byte[] bytes        = (byte[])packet.getData();
         int    bytesToWrite = bytes.Length;
         int    writtenByes  = datagramChannel.Send(bytes, bytesToWrite);
         return(writtenByes);
     }
     catch (Exception e) {
         logger.warn("I/O error at socket-writer", e);
         return(-1);
     }
     finally {
         packet.release();
     }
 }