public class ReceiverImpl extends LinkImpl implements Receiver
Modifier and Type | Method and Description |
---|---|
boolean |
advance()
Attempts to advance the current delivery.
|
void |
drain(int credit) |
boolean |
draining() |
void |
flow(int credits)
Adds the specified number of credits.
|
int |
getRemoteCredit()
|
ReadableBuffer |
recv()
Receive message data for the current delivery returning the data in a Readable buffer.
|
int |
recv(byte[] bytes,
int offset,
int size)
Receive message data for the current delivery.
|
int |
recv(WritableBuffer buffer)
Receive message data for the current delivery.
|
void |
setDrain(boolean drain) |
addCredit, current, delivery, delivery, detach, detached, drained, getConnectionImpl, getCredit, getDesiredCapabilities, getDrain, getMaxMessageSize, getName, getOfferedCapabilities, getProperties, getQueued, getReceiverSettleMode, getRemoteDesiredCapabilities, getRemoteMaxMessageSize, getRemoteOfferedCapabilities, getRemoteProperties, getRemoteReceiverSettleMode, getRemoteSenderSettleMode, getRemoteSource, getRemoteTarget, getSenderSettleMode, getSession, getSource, getTarget, getUnsettled, head, next, setCredit, setDesiredCapabilities, setMaxMessageSize, setOfferedCapabilities, setProperties, setReceiverSettleMode, setRemoteSenderSettleMode, setSenderSettleMode, setSource, setTarget
attachments, close, free, getCondition, getContext, getLocalState, getRemoteCondition, getRemoteState, open, setCondition, setContext
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
current, delivery, delivery, detach, detached, drained, getCredit, getDesiredCapabilities, getDrain, getMaxMessageSize, getName, getOfferedCapabilities, getProperties, getQueued, getReceiverSettleMode, getRemoteDesiredCapabilities, getRemoteMaxMessageSize, getRemoteOfferedCapabilities, getRemoteProperties, getRemoteReceiverSettleMode, getRemoteSenderSettleMode, getRemoteSource, getRemoteTarget, getSenderSettleMode, getSession, getSource, getTarget, getUnsettled, head, next, setDesiredCapabilities, setMaxMessageSize, setOfferedCapabilities, setProperties, setReceiverSettleMode, setRemoteSenderSettleMode, setSenderSettleMode, setSource, setTarget
close, free, getCondition, getContext, getLocalState, getRemoteCondition, getRemoteState, open, setCondition, setContext
attachments
public boolean advance()
Link
advance
in interface Link
advance
in interface Receiver
advance
in class LinkImpl
public void flow(int credits)
Receiver
credits
more deliveries.public int recv(byte[] bytes, int offset, int size)
Receiver
Delivery.isPartial()
. If
the delivery is partial, the caller should call Receiver.recv(byte[], int, int)
again to receive
the additional bytes once the Delivery appears again on the Connection work-list.
TODO might the flags other than IO_WORK in DeliveryImpl also prevent the work list being pruned?
e.g. what if a slow JMS consumer receives a disposition frame containing state=RELEASED? This is not IO_WORK.recv
in interface Receiver
bytes
- the destination array where the message data is writtenoffset
- index in the array to start writing data atsize
- the maximum number of bytes to writeLink.current()
public int recv(WritableBuffer buffer)
Receiver
public ReadableBuffer recv()
Receiver
public int getRemoteCredit()
Link
credit
count as well as the effect of
any locally queued
messages.getRemoteCredit
in interface Link