Apache Qpid C++ API
Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET Apache Qpid Documentation

qpid::client::no_keyword::AsyncSession_0_10 Class Reference

AMQP 0-10 asynchronous session API. More...

#include <qpid/client/no_keyword/AsyncSession_0_10.h>

List of all members.

Public Member Functions

 AsyncSession_0_10 ()
 AsyncSession_0_10 (const SessionBase_0_10 &other)
AsyncSession_0_10operator= (const SessionBase_0_10 &other)
Completion executionSync (bool sync=false)
 This command is complete when all prior commands are completed.
Completion executionResult (const SequenceNumber &commandId=SequenceNumber(), const string &value=string(), bool sync=false)
 This command carries data resulting from the execution of a command.
Completion executionException (uint16_t errorCode=0, const SequenceNumber &commandId=SequenceNumber(), uint8_t classCode=0, uint8_t commandCode=0, uint8_t fieldIndex=0, const string &description=string(), const FieldTable &errorInfo=FieldTable(), bool sync=false)
 This command informs a peer of an execution exception.
Completion messageTransfer (const string &destination=string(), uint8_t acceptMode=1, uint8_t acquireMode=0, const Message &content=Message(std::string()), bool sync=false)
 This command transfers a message between two peers.
Completion messageAccept (const SequenceSet &transfers=SequenceSet(), bool sync=false)
 Accepts the message.
Completion messageReject (const SequenceSet &transfers=SequenceSet(), uint16_t code=0, const string &text=string(), bool sync=false)
 Indicates that the message transfers are unprocessable in some way.
Completion messageRelease (const SequenceSet &transfers=SequenceSet(), bool setRedelivered=false, bool sync=false)
 Release previously transferred messages.
TypedResult
< qpid::framing::MessageAcquireResult
messageAcquire (const SequenceSet &transfers=SequenceSet(), bool sync=false)
 Acquires previously transferred messages for consumption.
TypedResult
< qpid::framing::MessageResumeResult
messageResume (const string &destination=string(), const string &resumeId=string(), bool sync=false)
 This command resumes an interrupted transfer.
Completion messageSubscribe (const string &queue=string(), const string &destination=string(), uint8_t acceptMode=0, uint8_t acquireMode=0, bool exclusive=false, const string &resumeId=string(), uint64_t resumeTtl=0, const FieldTable &arguments=FieldTable(), bool sync=false)
 This command asks the server to start a "subscription", which is a request for messages from a specific queue.
Completion messageCancel (const string &destination=string(), bool sync=false)
 This command cancels a subscription.
Completion messageSetFlowMode (const string &destination=string(), uint8_t flowMode=0, bool sync=false)
 Sets the mode of flow control used for a given destination to either window or credit based flow control.
Completion messageFlow (const string &destination=string(), uint8_t unit=0, uint32_t value=0, bool sync=false)
 This command controls the flow of message data to a given destination.
Completion messageFlush (const string &destination=string(), bool sync=false)
 Forces the sender to exhaust his credit supply.
Completion messageStop (const string &destination=string(), bool sync=false)
 On receipt of this command, a producer of messages MUST set his credit to zero for the given destination.
Completion txSelect (bool sync=false)
 This command sets the session to use standard transactions.
Completion txCommit (bool sync=false)
 This command commits all messages published and accepted in the current transaction.
Completion txRollback (bool sync=false)
 This command abandons the current transaction.
Completion dtxSelect (bool sync=false)
 This command sets the session to use distributed transactions.
TypedResult
< qpid::framing::XaResult
dtxStart (const Xid &xid=Xid(), bool join=false, bool resume=false, bool sync=false)
 This command is called when messages should be produced and consumed on behalf a transaction branch identified by xid.
TypedResult
< qpid::framing::XaResult
dtxEnd (const Xid &xid=Xid(), bool fail=false, bool suspend=false, bool sync=false)
 This command is called when the work done on behalf a transaction branch finishes or needs to be suspended.
TypedResult
< qpid::framing::XaResult
dtxCommit (const Xid &xid=Xid(), bool onePhase=false, bool sync=false)
 Commit the work done on behalf a transaction branch.
Completion dtxForget (const Xid &xid=Xid(), bool sync=false)
 This command is called to forget about a heuristically completed transaction branch.
TypedResult
< qpid::framing::DtxGetTimeoutResult
dtxGetTimeout (const Xid &xid=Xid(), bool sync=false)
 This command obtains the current transaction timeout value in seconds.
TypedResult
< qpid::framing::XaResult
dtxPrepare (const Xid &xid=Xid(), bool sync=false)
 This command prepares for commitment any message produced or consumed on behalf of xid.
TypedResult
< qpid::framing::DtxRecoverResult
dtxRecover (bool sync=false)
 This command is called to obtain a list of transaction branches that are in a prepared or heuristically completed state.
TypedResult
< qpid::framing::XaResult
dtxRollback (const Xid &xid=Xid(), bool sync=false)
 This command rolls back the work associated with xid.
Completion dtxSetTimeout (const Xid &xid=Xid(), uint32_t timeout=0, bool sync=false)
 Sets the specified transaction branch timeout value in seconds.
Completion exchangeDeclare (const string &exchange=string(), const string &type=string(), const string &alternateExchange=string(), bool passive=false, bool durable=false, bool autoDelete=false, const FieldTable &arguments=FieldTable(), bool sync=false)
 This command creates an exchange if it does not already exist, and if the exchange exists, verifies that it is of the correct and expected class.
Completion exchangeDelete (const string &exchange=string(), bool ifUnused=false, bool sync=false)
 This command deletes an exchange.
TypedResult
< qpid::framing::ExchangeQueryResult
exchangeQuery (const string &name=string(), bool sync=false)
 This command is used to request information on a particular exchange.
Completion exchangeBind (const string &queue=string(), const string &exchange=string(), const string &bindingKey=string(), const FieldTable &arguments=FieldTable(), bool sync=false)
 This command binds a queue to an exchange.
Completion exchangeUnbind (const string &queue=string(), const string &exchange=string(), const string &bindingKey=string(), bool sync=false)
 This command unbinds a queue from an exchange.
TypedResult
< qpid::framing::ExchangeBoundResult
exchangeBound (const string &exchange=string(), const string &queue=string(), const string &bindingKey=string(), const FieldTable &arguments=FieldTable(), bool sync=false)
 This command is used to request information on the bindings to a particular exchange.
Completion queueDeclare (const string &queue=string(), const string &alternateExchange=string(), bool passive=false, bool durable=false, bool exclusive=false, bool autoDelete=false, const FieldTable &arguments=FieldTable(), bool sync=false)
 This command creates or checks a queue.
Completion queueDelete (const string &queue=string(), bool ifUnused=false, bool ifEmpty=false, bool sync=false)
 This command deletes a queue.
Completion queuePurge (const string &queue=string(), bool sync=false)
 This command removes all messages from a queue.
TypedResult
< qpid::framing::QueueQueryResult
queueQuery (const string &queue=string(), bool sync=false)
 This command requests information about a queue.
SessionId getId () const
 Get the session ID.
void close ()
 Close the session.
void sync ()
 Synchronize the session: sync() waits until all commands issued on this session so far have been completed by the broker.
uint32_t timeout (uint32_t seconds)
 Set the timeout for this session.
void suspend ()
 Suspend the session - detach it from its connection.
void resume (Connection)
 Resume a suspended session with a new connection.
uint16_t getChannel () const
 Get the channel associated with this session.
void flush ()
void markCompleted (const framing::SequenceSet &ids, bool notifyPeer)
void markCompleted (const framing::SequenceNumber &id, bool cumulative, bool notifyPeer)
void sendCompletion ()
bool isValid () const

Protected Attributes

boost::shared_ptr< SessionImpl > impl

Detailed Description

AMQP 0-10 asynchronous session API.

A session is a named interaction between two peers. Session names are chosen by the upper layers and may be used indefinitely. The model layer may associate long-lived or durable state with a given session name. The session layer provides transport of commands associated with this interaction.

Definition at line 46 of file AsyncSession_0_10.h.


Constructor & Destructor Documentation

qpid::client::no_keyword::AsyncSession_0_10::AsyncSession_0_10 (  ) 
qpid::client::no_keyword::AsyncSession_0_10::AsyncSession_0_10 ( const SessionBase_0_10 other  ) 

Member Function Documentation

void qpid::client::SessionBase_0_10::close (  )  [inherited]

Close the session.

A session is automatically closed when all handles to it are destroyed.

TypedResult<qpid::framing::XaResult> qpid::client::no_keyword::AsyncSession_0_10::dtxCommit ( const Xid &  xid = Xid(),
bool  onePhase = false,
bool  sync = false 
)

Commit the work done on behalf a transaction branch.

This command commits the work associated with xid. Any produced messages are made available and any consumed messages are discarded.

Parameters:
xid Specifies the xid of the transaction branch to be committed.
onePhase Used to indicate whether one-phase or two-phase commit is used.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::XaResult> qpid::client::no_keyword::AsyncSession_0_10::dtxEnd ( const Xid &  xid = Xid(),
bool  fail = false,
bool  suspend = false,
bool  sync = false 
)

This command is called when the work done on behalf a transaction branch finishes or needs to be suspended.

Parameters:
xid Specifies the xid of the transaction branch to be ended.
fail If set, indicates that this portion of work has failed; otherwise this portion of work has completed successfully.
suspend Indicates that the transaction branch is temporarily suspended in an incomplete state.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::dtxForget ( const Xid &  xid = Xid(),
bool  sync = false 
)

This command is called to forget about a heuristically completed transaction branch.

Parameters:
xid Specifies the xid of the transaction branch to be forgotten.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::DtxGetTimeoutResult> qpid::client::no_keyword::AsyncSession_0_10::dtxGetTimeout ( const Xid &  xid = Xid(),
bool  sync = false 
)

This command obtains the current transaction timeout value in seconds.

If set-timeout was not used prior to invoking this command, the return value is the default timeout; otherwise, the value used in the previous set-timeout call is returned.

Parameters:
xid Specifies the xid of the transaction branch for getting the timeout.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::XaResult> qpid::client::no_keyword::AsyncSession_0_10::dtxPrepare ( const Xid &  xid = Xid(),
bool  sync = false 
)

This command prepares for commitment any message produced or consumed on behalf of xid.

Parameters:
xid Specifies the xid of the transaction branch that can be prepared.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::DtxRecoverResult> qpid::client::no_keyword::AsyncSession_0_10::dtxRecover ( bool  sync = false  ) 

This command is called to obtain a list of transaction branches that are in a prepared or heuristically completed state.

Parameters:
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::XaResult> qpid::client::no_keyword::AsyncSession_0_10::dtxRollback ( const Xid &  xid = Xid(),
bool  sync = false 
)

This command rolls back the work associated with xid.

Any produced messages are discarded and any consumed messages are re-enqueued.

Parameters:
xid Specifies the xid of the transaction branch that can be rolled back.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::dtxSelect ( bool  sync = false  ) 

This command sets the session to use distributed transactions.

The client must use this command at least once on a session before using XA demarcation operations.

Parameters:
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::dtxSetTimeout ( const Xid &  xid = Xid(),
uint32_t  timeout = 0,
bool  sync = false 
)

Sets the specified transaction branch timeout value in seconds.

Parameters:
xid Specifies the xid of the transaction branch for setting the timeout.
timeout The transaction timeout value in seconds.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::XaResult> qpid::client::no_keyword::AsyncSession_0_10::dtxStart ( const Xid &  xid = Xid(),
bool  join = false,
bool  resume = false,
bool  sync = false 
)

This command is called when messages should be produced and consumed on behalf a transaction branch identified by xid.

Parameters:
xid Specifies the xid of the transaction branch to be started.
join Indicate whether this is joining an already associated xid. Indicate that the start applies to joining a transaction previously seen.
resume Indicate that the start applies to resuming a suspended transaction branch specified.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::exchangeBind ( const string &  queue = string(),
const string &  exchange = string(),
const string &  bindingKey = string(),
const FieldTable &  arguments = FieldTable(),
bool  sync = false 
)

This command binds a queue to an exchange.

Until a queue is bound it will not receive any messages. In a classic messaging model, store-and-forward queues are bound to a direct exchange and subscription queues are bound to a topic exchange.

Parameters:
queue Specifies the name of the queue to bind.
exchange 
bindingKey The binding-key uniquely identifies a binding between a given (exchange, queue) pair. Depending on the exchange configuration, the binding key may be matched against the message routing key in order to make routing decisions. The match algorithm depends on the exchange type. Some exchange types may ignore the binding key when making routing decisions. Refer to the specific exchange type documentation. The meaning of an empty binding key depends on the exchange implementation.
arguments A set of arguments for the binding. The syntax and semantics of these arguments depends on the exchange class.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::ExchangeBoundResult> qpid::client::no_keyword::AsyncSession_0_10::exchangeBound ( const string &  exchange = string(),
const string &  queue = string(),
const string &  bindingKey = string(),
const FieldTable &  arguments = FieldTable(),
bool  sync = false 
)

This command is used to request information on the bindings to a particular exchange.

Parameters:
exchange The name of the exchange for which binding information is being requested. If not specified explicitly the default exchange is implied.
queue If populated then determine whether the given queue is bound to the exchange.
bindingKey If populated defines the binding-key of the binding of interest, if not populated the request will ignore the binding-key on bindings when searching for a match.
arguments If populated defines the arguments of the binding of interest if not populated the request will ignore the arguments on bindings when searching for a match
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::exchangeDeclare ( const string &  exchange = string(),
const string &  type = string(),
const string &  alternateExchange = string(),
bool  passive = false,
bool  durable = false,
bool  autoDelete = false,
const FieldTable &  arguments = FieldTable(),
bool  sync = false 
)

This command creates an exchange if it does not already exist, and if the exchange exists, verifies that it is of the correct and expected class.

Parameters:
exchange 
type Each exchange belongs to one of a set of exchange types implemented by the server. The exchange types define the functionality of the exchange - i.e. how messages are routed through it. It is not valid or meaningful to attempt to change the type of an existing exchange.
alternateExchange In the event that a message cannot be routed, this is the name of the exchange to which the message will be sent. Messages transferred using message.transfer will be routed to the alternate-exchange only if they are sent with the "none" accept-mode, and the discard-unroutable delivery property is set to false, and there is no queue to route to for the given message according to the bindings on this exchange.
passive If set, the server will not create the exchange. The client can use this to check whether an exchange exists without modifying the server state.
durable If set when creating a new exchange, the exchange will be marked as durable. Durable exchanges remain active when a server restarts. Non-durable exchanges (transient exchanges) are purged if/when a server restarts.
autoDelete If set, the exchange is deleted automatically when there remain no bindings between the exchange and any queue. Such an exchange will not be automatically deleted until at least one binding has been made to prevent the immediate deletion of the exchange upon creation.
arguments A set of arguments for the declaration. The syntax and semantics of these arguments depends on the server implementation. This field is ignored if passive is 1.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::exchangeDelete ( const string &  exchange = string(),
bool  ifUnused = false,
bool  sync = false 
)

This command deletes an exchange.

When an exchange is deleted all queue bindings on the exchange are cancelled.

Parameters:
exchange 
ifUnused If set, the server will only delete the exchange if it has no queue bindings. If the exchange has queue bindings the server does not delete it but raises an exception instead.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::ExchangeQueryResult> qpid::client::no_keyword::AsyncSession_0_10::exchangeQuery ( const string &  name = string(),
bool  sync = false 
)

This command is used to request information on a particular exchange.

Parameters:
name The name of the exchange for which information is requested. If not specified explicitly the default exchange is implied.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::exchangeUnbind ( const string &  queue = string(),
const string &  exchange = string(),
const string &  bindingKey = string(),
bool  sync = false 
)

This command unbinds a queue from an exchange.

Parameters:
queue Specifies the name of the queue to unbind.
exchange The name of the exchange to unbind from.
bindingKey Specifies the binding-key of the binding to unbind.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::executionException ( uint16_t  errorCode = 0,
const SequenceNumber &  commandId = SequenceNumber(),
uint8_t  classCode = 0,
uint8_t  commandCode = 0,
uint8_t  fieldIndex = 0,
const string &  description = string(),
const FieldTable &  errorInfo = FieldTable(),
bool  sync = false 
)

This command informs a peer of an execution exception.

The command-id, when given, correlates the error to a specific command.

Parameters:
errorCode 
commandId The command-id of the command which caused the exception. If the exception was not caused by a specific command, this value is not set.
classCode 
commandCode 
fieldIndex The zero based index of the exceptional field within the arguments to the exceptional command. If the exception was not caused by a specific field, this value is not set.
description The description provided is implementation defined, but MUST be in the language appropriate for the selected locale. The intention is that this description is suitable for logging or alerting output.
errorInfo 
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::executionResult ( const SequenceNumber &  commandId = SequenceNumber(),
const string &  value = string(),
bool  sync = false 
)

This command carries data resulting from the execution of a command.

Parameters:
commandId 
value 
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::executionSync ( bool  sync = false  ) 

This command is complete when all prior commands are completed.

Parameters:
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

void qpid::client::SessionBase_0_10::flush (  )  [inherited]
uint16_t qpid::client::SessionBase_0_10::getChannel (  )  const [inherited]

Get the channel associated with this session.

SessionId qpid::client::SessionBase_0_10::getId (  )  const [inherited]

Get the session ID.

bool qpid::client::SessionBase_0_10::isValid (  )  const [inherited]
void qpid::client::SessionBase_0_10::markCompleted ( const framing::SequenceNumber id,
bool  cumulative,
bool  notifyPeer 
) [inherited]
void qpid::client::SessionBase_0_10::markCompleted ( const framing::SequenceSet ids,
bool  notifyPeer 
) [inherited]
Completion qpid::client::no_keyword::AsyncSession_0_10::messageAccept ( const SequenceSet &  transfers = SequenceSet(),
bool  sync = false 
)

Accepts the message.

Once a transfer is accepted, the command-id may no longer be referenced from other commands.

Parameters:
transfers Identifies the messages previously transferred that should be accepted.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::MessageAcquireResult> qpid::client::no_keyword::AsyncSession_0_10::messageAcquire ( const SequenceSet &  transfers = SequenceSet(),
bool  sync = false 
)

Acquires previously transferred messages for consumption.

The acquired ids (if any) are sent via message.acquired.

Parameters:
transfers Indicates the messages to be acquired.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::messageCancel ( const string &  destination = string(),
bool  sync = false 
)

This command cancels a subscription.

This does not affect already delivered messages, but it does mean the server will not send any more messages for that subscription. The client may receive an arbitrary number of messages in between sending the cancel command and receiving notification that the cancel command is complete.

Parameters:
destination 
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::messageFlow ( const string &  destination = string(),
uint8_t  unit = 0,
uint32_t  value = 0,
bool  sync = false 
)

This command controls the flow of message data to a given destination.

It is used by the recipient of messages to dynamically match the incoming rate of message flow to its processing or forwarding capacity. Upon receipt of this command, the sender must add "value" number of the specified unit to the available credit balance for the specified destination. A value of (0xFFFFFFFF) indicates an infinite amount of credit. This disables any limit for the given unit until the credit balance is zeroed with message.stop or message.flush.

Parameters:
destination 
unit The unit of value.
value If the value is not set then this indicates an infinite amount of credit.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::messageFlush ( const string &  destination = string(),
bool  sync = false 
)

Forces the sender to exhaust his credit supply.

The sender's credit will always be zero when this command completes. The command completes when immediately available message data has been transferred, or when the credit supply is exhausted.

Parameters:
destination 
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::messageReject ( const SequenceSet &  transfers = SequenceSet(),
uint16_t  code = 0,
const string &  text = string(),
bool  sync = false 
)

Indicates that the message transfers are unprocessable in some way.

A server may reject a message if it is unroutable. A client may reject a message if it is invalid. A message may be rejected for other reasons as well. Once a transfer is rejected, the command-id may no longer be referenced from other commands.

Parameters:
transfers Identifies the messages previously transferred that should be rejected.
code Code describing the reason for rejection.
text Text describing the reason for rejection.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::messageRelease ( const SequenceSet &  transfers = SequenceSet(),
bool  setRedelivered = false,
bool  sync = false 
)

Release previously transferred messages.

When acquired messages are released, they become available for acquisition by any subscriber. Once a transfer is released, the command-id may no longer be referenced from other commands.

Parameters:
transfers Indicates the messages to be released.
setRedelivered By setting set-redelivered to true, any acquired messages released to a queue with this command will be marked as redelivered on their next transfer from that queue. If this flag is not set, then an acquired message will retain its original redelivered status on the queue. Messages that are not acquired are unaffected by the value of this flag.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::MessageResumeResult> qpid::client::no_keyword::AsyncSession_0_10::messageResume ( const string &  destination = string(),
const string &  resumeId = string(),
bool  sync = false 
)

This command resumes an interrupted transfer.

The recipient should return the amount of partially transferred data associated with the given resume-id, or zero if there is no data at all. If a non-zero result is returned, the recipient should expect to receive message fragment(s) containing the remainder of the interrupted message.

Parameters:
destination The destination to which the remaining message fragments are transferred.
resumeId The name of the transfer being resumed.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::messageSetFlowMode ( const string &  destination = string(),
uint8_t  flowMode = 0,
bool  sync = false 
)

Sets the mode of flow control used for a given destination to either window or credit based flow control.

With credit based flow control, the sender of messages continually maintains its current credit balance with the recipient. The credit balance consists of two values, a message count, and a byte count. Whenever message data is sent, both counts must be decremented. If either value reaches zero, the flow of message data must stop. Additional credit is received via the message.flow command.

The sender MUST NOT send partial assemblies. This means that if there is not enough byte credit available to send a complete message, the sender must either wait or use message fragmentation (see the fragment-properties header struct) to send the first part of the message data in a complete assembly.

Window based flow control is identical to credit based flow control, however message transfer completion implicitly grants a single unit of message credit, and the size of the message in byte credits for each completed message transfer. Completion of the transfer command with session.completed is the only way credit is implicitly updated; message.accept, message.release, message.reject, tx.commit and tx.rollback have no effect on the outstanding credit balances.

Parameters:
destination 
flowMode The new flow control mode.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::messageStop ( const string &  destination = string(),
bool  sync = false 
)

On receipt of this command, a producer of messages MUST set his credit to zero for the given destination.

When notifying of completion, credit MUST be zero and no further messages will be sent until such a time as further credit is received.

Parameters:
destination 
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::messageSubscribe ( const string &  queue = string(),
const string &  destination = string(),
uint8_t  acceptMode = 0,
uint8_t  acquireMode = 0,
bool  exclusive = false,
const string &  resumeId = string(),
uint64_t  resumeTtl = 0,
const FieldTable &  arguments = FieldTable(),
bool  sync = false 
)

This command asks the server to start a "subscription", which is a request for messages from a specific queue.

Subscriptions last as long as the session they were created on, or until the client cancels them.

Parameters:
queue Specifies the name of the subscribed queue.
destination The client specified name for the subscription. This is used as the destination for all messages transferred from this subscription. The destination is scoped to the session.
acceptMode The accept-mode to use for messages transferred from this subscription.
acquireMode The acquire-mode to use for messages transferred from this subscription.
exclusive Request an exclusive subscription. This prevents other subscribers from subscribing to the queue.
resumeId Requests that the broker use the supplied resume-id when transferring messages for this subscription.
resumeTtl Requested duration in milliseconds for the broker use as resume-ttl when transferring messages for this subscription.
arguments The syntax and semantics of these arguments depends on the providers implementation.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::messageTransfer ( const string &  destination = string(),
uint8_t  acceptMode = 1,
uint8_t  acquireMode = 0,
const Message content = Message(std::string()),
bool  sync = false 
)

This command transfers a message between two peers.

When a client uses this command to publish a message to a broker, the destination identifies a specific exchange. The message will then be routed to queues as defined by the exchange configuration.

The client may request a broker to transfer messages to it, from a particular queue, by issuing a subscribe command. The subscribe command specifies the destination that the broker should use for any resulting transfers.

Parameters:
destination Specifies the destination to which the message is to be transferred.
acceptMode Indicates whether message.accept, session.complete, or nothing at all is required to indicate successful transfer of the message.
acquireMode Indicates whether or not the transferred message has been acquired.
content Message content
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

AsyncSession_0_10& qpid::client::no_keyword::AsyncSession_0_10::operator= ( const SessionBase_0_10 other  ) 
Completion qpid::client::no_keyword::AsyncSession_0_10::queueDeclare ( const string &  queue = string(),
const string &  alternateExchange = string(),
bool  passive = false,
bool  durable = false,
bool  exclusive = false,
bool  autoDelete = false,
const FieldTable &  arguments = FieldTable(),
bool  sync = false 
)

This command creates or checks a queue.

When creating a new queue the client can specify various properties that control the durability of the queue and its contents, and the level of sharing for the queue.

Parameters:
queue 
alternateExchange The alternate-exchange field specifies how messages on this queue should be treated when they are rejected by a subscriber, or when they are orphaned by queue deletion. When present, rejected or orphaned messages MUST be routed to the alternate-exchange. In all cases the messages MUST be removed from the queue.
passive If set, the server will not create the queue. This field allows the client to assert the presence of a queue without modifying the server state.
durable If set when creating a new queue, the queue will be marked as durable. Durable queues remain active when a server restarts. Non-durable queues (transient queues) are purged if/when a server restarts. Note that durable queues do not necessarily hold persistent messages, although it does not make sense to send persistent messages to a transient queue.
exclusive Exclusive queues can only be used from one session at a time. Once a session declares an exclusive queue, that queue cannot be used by any other session until the declaring session closes.
autoDelete If this field is set and the exclusive field is also set, then the queue MUST be deleted when the session closes.

If this field is set and the exclusive field is not set the queue is deleted when all the consumers have finished using it. Last consumer can be cancelled either explicitly or because its session is closed. If there was no consumer ever on the queue, it won't be deleted.

Parameters:
arguments A set of arguments for the declaration. The syntax and semantics of these arguments depends on the server implementation. This field is ignored if passive is 1.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::queueDelete ( const string &  queue = string(),
bool  ifUnused = false,
bool  ifEmpty = false,
bool  sync = false 
)

This command deletes a queue.

When a queue is deleted any pending messages are sent to the alternate-exchange if defined, or discarded if it is not.

Parameters:
queue Specifies the name of the queue to delete.
ifUnused If set, the server will only delete the queue if it has no consumers. If the queue has consumers the server does does not delete it but raises an exception instead.
ifEmpty If set, the server will only delete the queue if it has no messages.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::queuePurge ( const string &  queue = string(),
bool  sync = false 
)

This command removes all messages from a queue.

It does not cancel subscribers. Purged messages are deleted without any formal "undo" mechanism.

Parameters:
queue Specifies the name of the queue to purge.
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

TypedResult<qpid::framing::QueueQueryResult> qpid::client::no_keyword::AsyncSession_0_10::queueQuery ( const string &  queue = string(),
bool  sync = false 
)

This command requests information about a queue.

Parameters:
queue 
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

void qpid::client::SessionBase_0_10::resume ( Connection   )  [inherited]

Resume a suspended session with a new connection.

void qpid::client::SessionBase_0_10::sendCompletion (  )  [inherited]
void qpid::client::SessionBase_0_10::suspend (  )  [inherited]

Suspend the session - detach it from its connection.

void qpid::client::SessionBase_0_10::sync (  )  [inherited]

Synchronize the session: sync() waits until all commands issued on this session so far have been completed by the broker.

Note sync() is always synchronous, even on an AsyncSession object because that's almost always what you want. You can call AsyncSession::executionSync() directly in the unusual event that you want to do an asynchronous sync.

uint32_t qpid::client::SessionBase_0_10::timeout ( uint32_t  seconds  )  [inherited]

Set the timeout for this session.

Completion qpid::client::no_keyword::AsyncSession_0_10::txCommit ( bool  sync = false  ) 

This command commits all messages published and accepted in the current transaction.

A new transaction starts immediately after a commit.

Parameters:
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::txRollback ( bool  sync = false  ) 

This command abandons the current transaction.

In particular the transfers from Client to Server (publishes) and accepts of transfers from Server to Client which occurred in the current transaction are discarded. A new transaction starts immediately after a rollback.

Parameters:
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().

Completion qpid::client::no_keyword::AsyncSession_0_10::txSelect ( bool  sync = false  ) 

This command sets the session to use standard transactions.

The client must use this command exactly once on a session before using the Commit or Rollback commands.

Parameters:
sync If true the broker will respond with completion status as soon as possible.

Referenced by qpid::client::AsyncSession_0_10::BOOST_PARAMETER_MEMFUN().


Member Data Documentation

boost::shared_ptr<SessionImpl> qpid::client::SessionBase_0_10::impl [protected, inherited]

The documentation for this class was generated from the following file:

Qpid C++ API Reference
Generated on Tue May 4 14:28:24 2010 for Qpid C++ Client API by doxygen 1.6.2-20100208