+/* internal do the instrumentation module */
+static void insert_into_buffer (PajeEvent* tbi)
+{
+ if (TRACE_buffer() == 0){
+ tbi->print ();
+ delete tbi;
+ return;
+ }
+ buffer_debug(&buffer);
+
+ XBT_DEBUG("%s: insert event_type=%d, timestamp=%f, buffersize=%zu)",
+ __FUNCTION__, (int)tbi->event_type, tbi->timestamp, buffer.size());
+ std::vector<PajeEvent*>::reverse_iterator i;
+ for (i = buffer.rbegin(); i != buffer.rend(); ++i) {
+ PajeEvent* e1 = *i;
+ XBT_DEBUG("compare to %p is of type %d; timestamp:%f", e1,
+ (int)e1->event_type, e1->timestamp);
+ if (e1->timestamp <= tbi->timestamp)
+ break;
+ }
+ buffer.insert(i.base(), tbi);
+ if (i == buffer.rend())
+ XBT_DEBUG("%s: inserted at beginning", __FUNCTION__);
+ else if (i == buffer.rbegin())
+ XBT_DEBUG("%s: inserted at end", __FUNCTION__);
+ else
+ XBT_DEBUG("%s: inserted at pos= %zd from its end", __FUNCTION__,
+ std::distance(buffer.rbegin(),i));
+
+ buffer_debug(&buffer);
+}
+
+PajeEvent:: ~PajeEvent()
+{
+ XBT_DEBUG("%s not implemented for %p: event_type=%d, timestamp=%f", __FUNCTION__,
+ this, (int)event_type, timestamp);
+// xbt_backtrace_display_current();
+
+ /* switch (event->event_type){
+ case PAJE_StartLink:
+ xbt_free (((startLink_t)(event->data))->value);
+ xbt_free (((startLink_t)(event->data))->key);
+ break;
+ case PAJE_EndLink:
+ xbt_free (((endLink_t)(event->data))->value);
+ xbt_free (((endLink_t)(event->data))->key);
+ break;
+ default:
+ break;
+ }*/
+}
+