public boolean isReadable() { return delivery.isReadable(); }
public boolean test() { //do we have at least one pending message? if (_incomingStore.size() > 0) return true; for (Connector<?> c : _driver.connectors()) { Connection connection = c.getConnection(); Delivery delivery = connection.getWorkHead(); while (delivery != null) { if (delivery.isReadable() && !delivery.isPartial()) { return true; } else { delivery = delivery.getWorkNext(); } } } // if no connections, or not listening, exit as there won't ever be a message if (!_driver.listeners().iterator().hasNext() && !_driver.connectors().iterator().hasNext()) return true; return false; } }
public boolean test() { //do we have at least one pending message? if (_incomingStore.size() > 0) return true; for (Connector<?> c : _driver.connectors()) { Connection connection = c.getConnection(); Delivery delivery = connection.getWorkHead(); while (delivery != null) { if (delivery.isReadable() && !delivery.isPartial()) { return true; } else { delivery = delivery.getWorkNext(); } } } // if no connections, or not listening, exit as there won't ever be a message if (!_driver.listeners().iterator().hasNext() && !_driver.connectors().iterator().hasNext()) return true; return false; } }
public boolean test() { //do we have at least one message? for (Connector c : _driver.connectors()) { Connection connection = c.getConnection(); Delivery delivery = connection.getWorkHead(); while (delivery != null) { if (delivery.isReadable()) { //TODO: check for partial delivery? return true; } else { delivery = delivery.getWorkNext(); } } } return false; } }
@Override protected void processDelivery(Delivery delivery) { if( !delivery.isReadable() ) { System.out.println("it was not readable!"); return; } if( current==null ) { current = new ByteArrayOutputStream(); } int count; byte data[] = new byte[1024*4]; while( (count = receiver.recv(data, 0, data.length)) > 0 ) { current.write(data, 0, count); } // Expecting more deliveries.. if( count == 0 ) { return; } receiver.advance(); Buffer buffer = current.toBuffer(); current = null; onMessage(delivery, buffer); }
if (linkName.equals(this.receiverLinkTag) && (delivery != null) && delivery.isReadable() && !delivery.isPartial())
private int pumpIn(String address, Receiver receiver) if (delivery.isReadable() && !delivery.isPartial())
public Message get() { for (Connector c : _driver.connectors()) { Connection connection = c.getConnection(); _logger.log(Level.FINE, "Attempting to get message from " + connection); Delivery delivery = connection.getWorkHead(); while (delivery != null) { if (delivery.isReadable()) { _logger.log(Level.FINE, "Readable delivery found: " + delivery); int size = read((Receiver) delivery.getLink()); Message message = new MessageImpl(); message.decode(_buffer, 0, size); _incoming.add(delivery); _distributed--; delivery.getLink().advance(); return message; } else { _logger.log(Level.FINE, "Delivery not readable: " + delivery); delivery = delivery.getWorkNext(); } } } return null; }
private int pumpIn(String address, Receiver receiver) if (delivery.isReadable() && !delivery.isPartial())
if ((delivery != null) && delivery.isReadable() && !delivery.isPartial())
incoming = getEndpoint().current(); if (incoming != null) { if (incoming.isReadable() && !incoming.isPartial()) { LOG.trace("{} has incoming Message(s).", this); try {
receiver = ((Receiver) delivery.getLink()); if (!delivery.isReadable()) { return;
@Override public void processDeliveryUpdates(AmqpProvider provider, Delivery delivery) throws IOException { if (delivery.isReadable() && !delivery.isPartial()) { LOG.trace("{} has incoming Message(s).", this); try { if (processDelivery(delivery)) { // We processed a message, signal completion // of a message pull request if there is one. if (pullRequest != null) { pullRequest.onSuccess(); pullRequest = null; } } } catch (Exception e) { throw IOExceptionSupport.create(e); } } if (getEndpoint().current() == null) { // We have exhausted the locally queued messages on this link. // Check if we tried to stop and have now run out of credit. if (getEndpoint().getRemoteCredit() <= 0) { if (stopRequest != null) { stopRequest.onSuccess(); stopRequest = null; } } } super.processDeliveryUpdates(provider, delivery); }
@Override public void processDeliveryUpdates(AmqpProvider provider, Delivery delivery) throws IOException { if (delivery.isReadable() && !delivery.isPartial()) { LOG.trace("{} has incoming Message(s).", this); try { if (processDelivery(delivery)) { // We processed a message, signal completion // of a message pull request if there is one. if (pullRequest != null) { pullRequest.onSuccess(); pullRequest = null; } } } catch (Exception e) { throw IOExceptionSupport.create(e); } } if (getEndpoint().current() == null) { // We have exhausted the locally queued messages on this link. // Check if we tried to stop and have now run out of credit. if (getEndpoint().getRemoteCredit() <= 0) { if (stopRequest != null) { stopRequest.onSuccess(); stopRequest = null; } } } super.processDeliveryUpdates(provider, delivery); }
if (delivery.isReadable() && !delivery.isPartial()) {
@Override public void delivery(Delivery delivery) throws Exception { if (!delivery.isReadable()) { LOG.debug("Delivery was not readable!"); return; } if (current == null) { current = new ByteArrayOutputStream(); } int count; while ((count = getEndpoint().recv(recvBuffer, 0, recvBuffer.length)) > 0) { current.write(recvBuffer, 0, count); if (current.size() > session.getMaxFrameSize()) { throw new AmqpProtocolException("Frame size of " + current.size() + " larger than max allowed " + session.getMaxFrameSize()); } } // Expecting more deliveries.. if (count == 0) { return; } try { processDelivery(delivery, current.toBuffer()); } finally { getEndpoint().advance(); current = null; } }
@Override public void delivery(Delivery delivery) throws Exception { if (!delivery.isReadable()) { LOG.debug("Delivery was not readable!"); return; } if (current == null) { current = new ByteArrayOutputStream(); } int count; while ((count = getEndpoint().recv(recvBuffer, 0, recvBuffer.length)) > 0) { current.write(recvBuffer, 0, count); if (current.size() > session.getMaxFrameSize()) { throw new AmqpProtocolException("Frame size of " + current.size() + " larger than max allowed " + session.getMaxFrameSize()); } } // Expecting more deliveries.. if (count == 0) { return; } try { processDelivery(delivery, current.toBuffer()); } finally { getEndpoint().advance(); current = null; } }
if (delivery.isReadable() && !delivery.isPartial() && delivery.getLink().getName().equals(RECEIVE_TAG))
} else if (delivery.isReadable() && !delivery.isPartial()) { // Assuming link instanceof Receiver... Receiver receiver = (Receiver)event.getLink(); int amount = delivery.pending();
Delivery delivery = recv.current(); if (delivery.isReadable() && !delivery.isPartial() && delivery.getLink().getName().equalsIgnoreCase(FILE_NOTIFICATION_RECEIVE_TAG))