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); }
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); } } }
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)); } }
public Object decode(EzyMessage message) { return(deserializer.deserialize <Object>(message.getContent())); }
protected byte[] convertMessageToBytes(EzyMessage message) { return(messageToBytes.convert(message)); }
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()); }