163 Ui::TCPStreamDialog *ui;
175 QMultiMap<double, struct segment *> time_stamp_map_;
181 bool ts_origin_conn_;
184 QMap<double, struct segment *> sequence_num_map_;
187 uint32_t seq_offset_;
190 bool seq_origin_zero_;
196 bool legend_visible_;
202 follow_stream_count_func get_stream_count_;
205 QCPTextElement *title_;
208 QString stream_desc_;
211 QCPGraph *base_graph_;
214 QCPGraph *tput_graph_;
217 QCPGraph *goodput_graph_;
220 QCPGraph *seg_graph_;
223 QCPErrorBars *seg_eb_;
226 QCPGraph *ack_graph_;
229 QCPGraph *sack_graph_;
232 QCPErrorBars *sack_eb_;
235 QCPGraph *sack2_graph_;
238 QCPErrorBars *sack2_eb_;
241 QCPGraph *rwin_graph_;
244 QCPGraph *dup_ack_graph_;
247 QCPGraph *zero_win_graph_;
250 QCPItemTracer *tracer_;
256 uint32_t packet_num_;
259 QTransform y_axis_xfrm_;
265 QRubberBand *rubber_band_;
284 graph_update_timer_(NULL),
285 reset_axes_(false) {}
292 void triggerUpdate(
int timeout,
bool reset_axes =
false);
297 void clearPendingUpdate();
303 void doUpdate(follow_stream_count_func get_count);
309 bool hasPendingUpdate() {
return graph_update_timer_ != NULL; }
312 QTimer *graph_update_timer_;
328 int num_sack_ranges_;
331 double ma_window_size_;
341 void fillGraph(
bool reset_axes =
true,
bool set_focus =
true);
344 void showWidgetsForGraphType();
350 void zoomAxes(
bool in);
356 void zoomXAxis(
bool in);
362 void zoomYAxis(
bool in);
376 void panAxes(
int x_pixels,
int y_pixels);
397 void fillThroughput();
400 void fillRoundTripTime();
403 void fillWindowScale();
409 QString streamDescription();
416 bool compareHeaders(
struct segment *seg);
422 void toggleTracerStyle(
bool force_default =
false);
429 QRectF getZoomRanges(QRect zoom_rect);
436 void showContextMenu(
const QPoint &pos);
442 void graphClicked(QMouseEvent *event);
450 void axisClicked(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event);
456 void mouseMoved(QMouseEvent *event);
462 void mouseReleased(QMouseEvent *event);
474 void transformYRange(
const QCPRange &y_range1);
480 void on_buttonBox_accepted();
483 void on_graphTypeComboBox_currentIndexChanged(
int index);
486 void on_resetButton_clicked();
489 void on_streamNumberSpinBox_valueChanged(
int new_stream);
492 void on_streamNumberSpinBox_editingFinished();
495 void on_maWindowSizeSpinBox_valueChanged(
double new_ma_size);
498 void on_maWindowSizeSpinBox_editingFinished();
501 void on_selectSACKsCheckBox_stateChanged(
int state);
504 void on_otherDirectionButton_clicked();
507 void on_dragRadioButton_toggled(
bool checked);
510 void on_zoomRadioButton_toggled(
bool checked);
513 void on_bySeqNumberCheckBox_stateChanged(
int state);
516 void on_samplingMethodComboBox_currentIndexChanged(
int index);
519 void on_showSegLengthCheckBox_stateChanged(
int state);
522 void on_showThroughputCheckBox_stateChanged(
int state);
525 void on_showGoodputCheckBox_stateChanged(
int state);
528 void on_showRcvWinCheckBox_stateChanged(
int state);
531 void on_showBytesOutCheckBox_stateChanged(
int state);
534 void on_actionZoomIn_triggered();
537 void on_actionZoomInX_triggered();
540 void on_actionZoomInY_triggered();
543 void on_actionZoomOut_triggered();
546 void on_actionZoomOutX_triggered();
549 void on_actionZoomOutY_triggered();
552 void on_actionReset_triggered();
555 void on_actionMoveRight10_triggered();
558 void on_actionMoveLeft10_triggered();
561 void on_actionMoveUp10_triggered();
564 void on_actionMoveDown10_triggered();
567 void on_actionMoveRight1_triggered();
570 void on_actionMoveLeft1_triggered();
573 void on_actionMoveUp1_triggered();
576 void on_actionMoveDown1_triggered();
579 void on_actionNextStream_triggered();
582 void on_actionPreviousStream_triggered();
585 void on_actionSwitchDirection_triggered();
588 void on_actionGoToPacket_triggered();
591 void on_actionDragZoom_triggered();
594 void on_actionToggleSequenceNumbers_triggered();
597 void on_actionToggleTimeOrigin_triggered();
600 void on_actionRoundTripTime_triggered();
603 void on_actionThroughput_triggered();
606 void on_actionStevens_triggered();
609 void on_actionTcptrace_triggered();
612 void on_actionWindowScaling_triggered();
615 void on_buttonBox_helpRequested();