Ejemplo n.º 1
0
        protected void handleReceivedBytes(byte[] bytes)
        {
            EzyMessage message = EzyMessageReaders.bytesToMessage(bytes);

            if (message == null)
            {
                return;
            }
            onMesssageReceived(message);
        }
 private void writeSize(EzyByteBuffer buffer, EzyMessage message)
 {
     if (message.hasBigSize())
     {
         buffer.putInt(message.getSize());
     }
     else
     {
         buffer.putShort((short)message.getSize());
     }
 }
        public byte[] convert(EzyMessage message)
        {
            EzyByteBuffer buffer = newByteBuffer(message);

            writeHeader(buffer, message);
            writeSize(buffer, message);
            writeContent(buffer, message);
            byte[] answer = new byte[buffer.position()];
            buffer.flip();
            buffer.get(answer);
            return(answer);
        }
Ejemplo n.º 4
0
 private void onMesssageReceived(EzyMessage message)
 {
     try
     {
         Object data = decoder.decode(message);
         dataQueue.add((EzyArray)data);
         Console.WriteLine("udp received: " + data);
     }
     catch (Exception e)
     {
         logger.warn("decode error at socket-reader", e);
     }
 }
        private void handleQueue(EzyCallback <EzyMessage> callback)
        {
            while (queue.Count > 0 && active)
            {
                do
                {
                    EzyMessage message = queue.Dequeue();
                    callback(message);
                }while (queue.Count > 0);

                if (buffer.hasRemaining())
                {
                    decoder.decode(buffer, queue);
                }
            }
        }
Ejemplo n.º 6
0
        protected override void readSocketData()
        {
            int bytesToRead = socket.GetStream().Read(readBytes, 0, getReadBufferSize());

            if (bytesToRead <= 0)
            {
                return;
            }
            readBuffer.clear();
            readBuffer.put(readBytes, 0, bytesToRead);
            decoder.decode(readBuffer, messageQueue);
            if (messageQueue.Count > 0)
            {
                EzyMessage message    = messageQueue.Dequeue();
                Object     socketData = decoder.decode(message);
                getLogger().debug("receiver data: " + socketData);
                dataEventQueue.add(new EzySocketDataEvent(socketData));
            }
        }
Ejemplo n.º 7
0
 public Object decode(EzyMessage message)
 {
     return(deserializer.deserialize <Object>(message.getContent()));
 }
Ejemplo n.º 8
0
 protected byte[] convertMessageToBytes(EzyMessage message)
 {
     return(messageToBytes.convert(message));
 }
Ejemplo n.º 9
0
        private void onMesssageReceived(EzyMessage message)
        {
            Object data = decoder.decode(message);

            dataQueue.add((EzyArray)data);
        }
        public Object decode(EzyMessage message)
        {
            Object answer = decoder.decode(message);

            return(answer);
        }
 private int getCapacity(EzyMessage message)
 {
     return(message.getByteCount());
 }
        private EzyByteBuffer newByteBuffer(EzyMessage message)
        {
            int capacity = getCapacity(message);

            return(EzyByteBuffer.allocate(capacity));
        }
 private void writeContent(EzyByteBuffer buffer, EzyMessage message)
 {
     buffer.put(message.getContent());
 }
 private void writeHeader(EzyByteBuffer buffer, EzyMessage message)
 {
     writeHeader(buffer, message.getHeader());
 }