Logo Search packages:      
Sourcecode: inkscape version File versions

bool Inkscape::Whiteboard::MessageAggregator::addOne ( Glib::ustring const &  msg,
Glib::ustring &  buf 

Adds one message to the aggregate using a user-provided buffer. Returns true if more messages can be added to the buffer; false otherwise.

msg The message to add to the aggregate.
buf The aggregate buffer.
Whether or not more messages can be added to the buffer.

Definition at line 21 of file message-aggregator.cpp.

References MAX_SIZE.

Referenced by addOne().

      // 1.  If msg.bytes() > maximum size and the buffer is clear,
      // then we have to send an oversize packet -- 
      // we won't be able to deliver the message any other way.
      // Add it to the buffer and return true.  Any further attempt to 
      // aggregate a message will be handled by condition #2.
      if (msg.bytes() > MessageAggregator::MAX_SIZE && buf.empty()) {
            buf += msg;
            return true;

      // 2.  If msg.bytes() + buf.bytes() > maximum size, return false.
      // The user of this class is responsible for retrieving the aggregated message,
      // doing something with it, clearing the buffer, and trying again.
      // Otherwise, append the message to the buffer and return true.
      if (msg.bytes() + buf.bytes() > MessageAggregator::MAX_SIZE) {
            return false;
      } else {
            buf += msg;
            return true;

Generated by  Doxygen 1.6.0   Back to index