#include <Reference.h>
Collaboration diagram for qpid::broker::Reference:
Public Types | |
typedef std::string | Id |
typedef boost::shared_ptr< Reference > | shared_ptr |
typedef boost::shared_ptr< MessageMessage > | MessagePtr |
typedef std::vector< MessagePtr > | Messages |
typedef boost::shared_ptr< framing::MessageAppendBody > | AppendPtr |
typedef std::vector< AppendPtr > | Appends |
Public Member Functions | |
Reference (const Id &id_=Id(), ReferenceRegistry *reg=0) | |
const std::string & | getId () const |
uint64_t | getSize () const |
void | addMessage (MessagePtr message) |
Add a message to be completed with this reference. | |
void | append (AppendPtr ptr) |
Append more data to the reference. | |
void | close () |
Close the reference, complete each associated message. | |
const Appends & | getAppends () const |
const Messages & | getMessages () const |
A reference can be used by multiple transfer commands to create multiple messages, so the reference tracks which commands are using it. When the reference is closed, all the associated transfers are completed.
THREAD UNSAFE: per-channel resource, access to channels is serialized.