Ignore:
Timestamp:
Mar 26, 2014, 6:28:32 PM (10 years ago)
Author:
hock@…
Message:

WARNING! This revision is not intended for productive use!

!! DEBUGGING ONLY !!

Extreme debugging of StreamTransport.
"Typo" in the locking-code, was very hard to track down!

This revision is stored since a lot dabug code was written and should not just be deleted.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • source/ariba/utility/transport/messages/message.hpp

    r12060 r12773  
    1111#include<boost/shared_ptr.hpp>
    1212#include<cstring>
     13#include <cassert>
    1314
    1415#include "shared_buffer.hpp"
     
    6869        /// Create a new message
    6970        inline message_t() :
    70                 imsg() {
     71                imsg(),
     72                MAGIC_IDENTIFIER("!!message_t-MAGIC_IDENTIFIER!!"), // XXX Mario: Debugging
     73                MAGIC_NUMBER(421337) // XXX Mario: Debugging
     74        {
    7175        }
    7276
    7377        /// Copy message
    7478        inline message_t(const message_t& msg) :
    75                 imsg(msg.imsg)
     79                imsg(msg.imsg),
     80                MAGIC_IDENTIFIER(msg.MAGIC_IDENTIFIER),  // XXX
     81                MAGIC_NUMBER(msg.MAGIC_NUMBER) // XXX
     82
    7683        {
     84                assert ( msg.MAGIC_NUMBER == 421337 ); // XXX
     85               
    7786            if ( imsg )
    7887                imsg->owner = NULL;
     
    8594
    8695        /// Assign another message
    87         inline message_t& operator=(const message_t& msg) {
    88                 msg.imsg->owner = NULL;
    89                 imsg = msg.imsg;
     96        inline message_t& operator=(const message_t& msg)
     97        {
     98                assert ( msg.MAGIC_NUMBER == 421337 ); // XXX
     99               
     100                if ( msg.imsg )
     101                {
     102                        msg.imsg->owner = NULL;
     103                        imsg = msg.imsg;
     104                }
     105                else
     106                {
     107                        // TODO: is this a valid state? (since it can definitely been reached...)
     108                        imsg.reset();
     109                }
     110               
    90111                return *this;
    91112        }
     
    252273                shared_buffer_t buffers[message_max_buffers];
    253274                mlength_t index, length;
     275               
     276                // XXX Mario: Debugging
     277                const std::string MAGIC_IDENTIFIER;
     278                const int MAGIC_NUMBER;
    254279        public:
    255280                inline imsg_t() :
    256                         index(0), length(0) {
     281                        owner(NULL),
     282                        index(0),
     283                        length(0),
     284                        MAGIC_IDENTIFIER("!!imsg_t-MAGIC_IDENTIFIER!!"), // XXX Mario: Debugging
     285                        MAGIC_NUMBER(133742)
     286                {
    257287                }
    258288                inline imsg_t(const imsg_t& imsg) :
    259                         index(imsg.index), length(imsg.length) {
     289                        index(imsg.index), length(imsg.length),
     290                        MAGIC_IDENTIFIER(imsg.MAGIC_IDENTIFIER),  // XXX
     291                        MAGIC_NUMBER(imsg.MAGIC_NUMBER) // XXX
     292                {
    260293                        for (mlength_t i = 0; i < length; i++)
    261294                                at(index + i) = imsg.at(index + i);
     
    336369        }
    337370        boost::shared_ptr<imsg_t> imsg;
     371       
     372        // XXX Mario: Debugging
     373public:
     374        const std::string MAGIC_IDENTIFIER;
     375        const int MAGIC_NUMBER;
    338376};
    339377
Note: See TracChangeset for help on using the changeset viewer.