org.apache.qpid.proton.engine.Receiver.advance()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(5.3k)|赞(0)|评价(0)|浏览(114)

本文整理了Java中org.apache.qpid.proton.engine.Receiver.advance方法的一些代码示例,展示了Receiver.advance的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Receiver.advance方法的具体详情如下:
包路径:org.apache.qpid.proton.engine.Receiver
类名称:Receiver
方法名:advance

Receiver.advance介绍

[英]TODO document what this method conceptually does and when you should use it.
[中]TODO记录此方法在概念上的作用以及应该使用它的时间。

代码示例

代码示例来源:origin: io.vertx/vertx-proton

private void handleAborted(Receiver receiver, Delivery delivery) {
 splitContent = null;
 receiver.advance();
 delivery.settle();
 if(!receiver.getDrain()) {
  flow(1, false);
 } else {
  processForDrainCompletion();
 }
}

代码示例来源:origin: org.apache.qpid/proton-hawtdispatch

@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);
}

代码示例来源:origin: org.apache.activemq/artemis-proton-plug

@Override
public void onMessage(Delivery delivery) throws ActiveMQAMQPException {
 ByteBuf buffer = PooledByteBufAllocator.DEFAULT.heapBuffer(1024);
 try {
   synchronized (connection.getLock()) {
    readDelivery(receiver, buffer);
    MessageImpl clientMessage = decodeMessageImpl(buffer);
    // This second method could be better
    //            clientMessage.decode(buffer.nioBuffer());
    receiver.advance();
    delivery.disposition(Accepted.getInstance());
    queues.add(clientMessage);
   }
 }
 finally {
   buffer.release();
 }
}

代码示例来源:origin: Azure/azure-iot-sdk-java

int read = this.receiverLink.recv(buffer, 0, buffer.length);
this.receiverLink.advance();

代码示例来源:origin: com.microsoft.azure.iot/proton-j-azure-iot

receiver.advance();

代码示例来源:origin: org.apache.qpid/proton-j-impl

receiver.advance();

代码示例来源:origin: Azure/azure-iot-sdk-java

this.receiverLink.advance();

代码示例来源:origin: apache/activemq-artemis

throw IOExceptionSupport.create(e);
  getEndpoint().advance();
} else {
  LOG.trace("{} has a partial incoming Message(s), deferring.", this);

代码示例来源:origin: apache/activemq-artemis

@Override
public void onMessage(Delivery delivery) throws ActiveMQAMQPException {
 connection.requireInHandler();
 Receiver receiver = ((Receiver) delivery.getLink());
 if (receiver.current() != delivery) {
   return;
 }
 if (delivery.isAborted()) {
   // Aborting implicitly remotely settles, so advance
   // receiver to the next delivery and settle locally.
   receiver.advance();
   delivery.settle();
   // Replenish the credit if not doing a drain
   if (!receiver.getDrain()) {
    receiver.flow(1);
   }
   return;
 } else if (delivery.isPartial()) {
   return;
 }
 ReadableBuffer data = receiver.recv();
 receiver.advance();
 Transaction tx = null;
 if (delivery.getRemoteState() instanceof TransactionalState) {
   TransactionalState txState = (TransactionalState) delivery.getRemoteState();
   tx = this.sessionSPI.getTransaction(txState.getTxnId(), false);
 }
 final Transaction txUsed = tx;
 actualDelivery(delivery, receiver, data, txUsed);
}

代码示例来源:origin: org.apache.activemq/artemis-proton-plug

readDelivery(receiver, buffer);
receiver.advance();

代码示例来源:origin: org.apache.activemq/artemis-amqp-protocol

receiver.advance();
 delivery.settle();
receiver.advance();

代码示例来源:origin: com.microsoft.azure.iothub-java-client/iothub-java-device-client

byte[] buffer = new byte[size];
int read = receiveLink.recv(buffer, 0, buffer.length);
receiveLink.advance();

代码示例来源:origin: org.apache.activemq/activemq-all

@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;
  }
}

代码示例来源:origin: org.apache.activemq/activemq-osgi

@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;
  }
}

代码示例来源:origin: com.ibm.mqlight/mqlight-api

byte[] data = new byte[amount];
receiver.recv(data, 0, amount);
receiver.advance();

代码示例来源:origin: Azure/azure-iot-sdk-java

byte[] buffer = new byte[size];
int read = recv.recv(buffer, 0, buffer.length);
recv.advance();

代码示例来源:origin: org.apache.qpid/qpid-jms-client

getEndpoint().advance();

代码示例来源:origin: apache/qpid-jms

getEndpoint().advance();

代码示例来源:origin: Azure/azure-iot-sdk-java

byte[] buffer = new byte[size];
int read = recv.recv(buffer, 0, buffer.length);
recv.advance();

代码示例来源:origin: io.vertx/vertx-proton

msg.decode(data);
receiver.advance();

相关文章