}
}
+void lttng_live_stream_iterator_set_state(struct lttng_live_stream_iterator *stream_iter,
+ enum lttng_live_stream_state new_state)
+{
+ bt_self_component *self_comp = stream_iter->self_comp;
+ bt_logging_level log_level = stream_iter->log_level;
+
+ BT_COMP_LOGD("Setting live stream iterator state: viewer-stream-id=%" PRIu64
+ ", old-state=%s, new-state=%s",
+ stream_iter->viewer_stream_id,
+ lttng_live_stream_state_string(stream_iter->state),
+ lttng_live_stream_state_string(new_state));
+
+ stream_iter->state = new_state;
+}
+
#define LTTNG_LIVE_LOGD_STREAM_ITER(live_stream_iter) \
do { \
BT_COMP_LOGD("Live stream iterator state=%s, last-inact-ts=%" PRId64 \
*/
if (lttng_live_stream->current_inactivity_ts ==
lttng_live_stream->last_inactivity_ts) {
- lttng_live_stream->state = LTTNG_LIVE_STREAM_QUIESCENT_NO_DATA;
+ lttng_live_stream_iterator_set_state(lttng_live_stream,
+ LTTNG_LIVE_STREAM_QUIESCENT_NO_DATA);
+
ret = LTTNG_LIVE_ITERATOR_STATUS_CONTINUE;
goto end;
}
} else {
stream->ctf_stream_class_id = ctf_stream_class_id;
}
- stream->state = LTTNG_LIVE_STREAM_QUIESCENT;
+ lttng_live_stream_iterator_set_state(stream, LTTNG_LIVE_STREAM_QUIESCENT);
status = LTTNG_LIVE_ITERATOR_STATUS_OK;
break;
}
stream->ctf_stream_class_id = ctf_stream_class_id;
}
- stream->state = LTTNG_LIVE_STREAM_ACTIVE_DATA;
+ lttng_live_stream_iterator_set_state(stream, LTTNG_LIVE_STREAM_ACTIVE_DATA);
if (flags & LTTNG_VIEWER_FLAG_NEW_METADATA) {
BT_COMP_LOGD("Marking trace as needing new metadata: "
}
case LTTNG_VIEWER_INDEX_RETRY:
memset(index, 0, sizeof(struct packet_index));
- stream->state = LTTNG_LIVE_STREAM_ACTIVE_NO_DATA;
+ lttng_live_stream_iterator_set_state(stream, LTTNG_LIVE_STREAM_ACTIVE_NO_DATA);
status = LTTNG_LIVE_ITERATOR_STATUS_AGAIN;
goto end;
case LTTNG_VIEWER_INDEX_HUP:
memset(index, 0, sizeof(struct packet_index));
index->offset = EOF;
- stream->state = LTTNG_LIVE_STREAM_EOF;
+ lttng_live_stream_iterator_set_state(stream, LTTNG_LIVE_STREAM_EOF);
stream->has_stream_hung_up = true;
status = LTTNG_LIVE_ITERATOR_STATUS_END;
break;
case LTTNG_VIEWER_INDEX_ERR:
memset(index, 0, sizeof(struct packet_index));
- stream->state = LTTNG_LIVE_STREAM_ACTIVE_NO_DATA;
+ lttng_live_stream_iterator_set_state(stream, LTTNG_LIVE_STREAM_ACTIVE_NO_DATA);
status = LTTNG_LIVE_ITERATOR_STATUS_ERROR;
goto end;
default:
BT_COMP_LOGD("Received get_next_index response: unknown value");
memset(index, 0, sizeof(struct packet_index));
- stream->state = LTTNG_LIVE_STREAM_ACTIVE_NO_DATA;
+ lttng_live_stream_iterator_set_state(stream, LTTNG_LIVE_STREAM_ACTIVE_NO_DATA);
status = LTTNG_LIVE_ITERATOR_STATUS_ERROR;
goto end;
}