Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET | Apache Qpid Documentation |
Flow control works by associating a finite amount of "credit" with a subscription. More...
#include <qpid/client/FlowControl.h>
Public Member Functions | |
FlowControl (uint32_t messages_=0, uint32_t bytes_=0, bool window_=false) | |
bool | operator== (const FlowControl &x) |
Static Public Member Functions | |
static FlowControl | messageCredit (uint32_t messages_) |
static FlowControl | messageWindow (uint32_t messages_) |
static FlowControl | byteCredit (uint32_t bytes_) |
static FlowControl | byteWindow (uint32_t bytes_) |
static FlowControl | unlimited () |
static FlowControl | zero () |
Public Attributes | |
uint32_t | messages |
Message credit: subscription can accept up to this many messages. | |
uint32_t | bytes |
Byte credit: subscription can accept up to this many bytes of message content. | |
bool | window |
Window mode. | |
Static Public Attributes | |
static const uint32_t | UNLIMITED = 0xFFFFFFFF |
Flow control works by associating a finite amount of "credit" with a subscription.
Credit includes a message count and a byte count. Each message received decreases the message count by one, and the byte count by the size of the message. Either count can have the special value UNLIMITED which is never decreased.
A subscription's credit is exhausted when the message count is 0 or the byte count is too small for the next available message. The subscription will not receive any further messages until is credit is renewed.
In "window mode" credit is automatically renewed when a message is completed (which by default happens when it is accepted). In non-window mode credit is not automatically renewed, it must be explicitly re-set (
Definition at line 49 of file FlowControl.h.
qpid::client::FlowControl::FlowControl | ( | uint32_t | messages_ = 0 , |
|
uint32_t | bytes_ = 0 , |
|||
bool | window_ = false | |||
) | [inline] |
Definition at line 51 of file FlowControl.h.
Referenced by byteCredit(), byteWindow(), messageCredit(), messageWindow(), unlimited(), and zero().
static FlowControl qpid::client::FlowControl::byteCredit | ( | uint32_t | bytes_ | ) | [inline, static] |
Definition at line 56 of file FlowControl.h.
References FlowControl(), and UNLIMITED.
static FlowControl qpid::client::FlowControl::byteWindow | ( | uint32_t | bytes_ | ) | [inline, static] |
Definition at line 57 of file FlowControl.h.
References FlowControl(), and UNLIMITED.
static FlowControl qpid::client::FlowControl::messageCredit | ( | uint32_t | messages_ | ) | [inline, static] |
Definition at line 54 of file FlowControl.h.
References FlowControl(), and UNLIMITED.
static FlowControl qpid::client::FlowControl::messageWindow | ( | uint32_t | messages_ | ) | [inline, static] |
Definition at line 55 of file FlowControl.h.
References FlowControl(), and UNLIMITED.
bool qpid::client::FlowControl::operator== | ( | const FlowControl & | x | ) | [inline] |
Definition at line 68 of file FlowControl.h.
static FlowControl qpid::client::FlowControl::unlimited | ( | ) | [inline, static] |
Definition at line 58 of file FlowControl.h.
References FlowControl(), and UNLIMITED.
static FlowControl qpid::client::FlowControl::zero | ( | ) | [inline, static] |
Definition at line 59 of file FlowControl.h.
References FlowControl().
Byte credit: subscription can accept up to this many bytes of message content.
Definition at line 64 of file FlowControl.h.
Referenced by operator==().
Message credit: subscription can accept up to this many messages.
Definition at line 62 of file FlowControl.h.
Referenced by operator==().
const uint32_t qpid::client::FlowControl::UNLIMITED = 0xFFFFFFFF [static] |
Definition at line 50 of file FlowControl.h.
Referenced by byteCredit(), byteWindow(), messageCredit(), messageWindow(), and unlimited().
Window mode.
If true credit is automatically renewed as messages are acknowledged.
Definition at line 66 of file FlowControl.h.
Referenced by operator==().