|
|
|
|
@ -315,19 +315,32 @@ static void CreateControls(struct etcpmon_app* app) {
|
|
|
|
|
WS_CHILD | WS_VISIBLE | ES_READONLY, |
|
|
|
|
mx + 285, my, 100, 20, hWnd, (HMENU)IDC_EDIT_ETCP_RETRANS, hInst, NULL); |
|
|
|
|
|
|
|
|
|
my += 25; |
|
|
|
|
CreateWindowExA(0, "STATIC", "RX Dup:", |
|
|
|
|
WS_CHILD | WS_VISIBLE, mx, my, 80, 20, hWnd, (HMENU)IDC_STATIC, hInst, NULL); |
|
|
|
|
app->hEditEtcpRxDup = CreateWindowExA(WS_EX_CLIENTEDGE, "EDIT", "", |
|
|
|
|
WS_CHILD | WS_VISIBLE | ES_READONLY, |
|
|
|
|
mx + 85, my, 100, 20, hWnd, (HMENU)IDC_EDIT_ETCP_RX_DUP, hInst, NULL); |
|
|
|
|
|
|
|
|
|
CreateWindowExA(0, "STATIC", "TX Dup:", |
|
|
|
|
WS_CHILD | WS_VISIBLE, mx + 200, my, 80, 20, hWnd, (HMENU)IDC_STATIC, hInst, NULL); |
|
|
|
|
app->hEditEtcpTxDup = CreateWindowExA(WS_EX_CLIENTEDGE, "EDIT", "", |
|
|
|
|
WS_CHILD | WS_VISIBLE | ES_READONLY, |
|
|
|
|
mx + 285, my, 100, 20, hWnd, (HMENU)IDC_EDIT_ETCP_TX_DUP, hInst, NULL); |
|
|
|
|
|
|
|
|
|
my += 25; |
|
|
|
|
CreateWindowExA(0, "STATIC", "ACKs:", |
|
|
|
|
WS_CHILD | WS_VISIBLE, mx, my, 80, 20, hWnd, (HMENU)IDC_STATIC, hInst, NULL); |
|
|
|
|
app->hEditEtcpAcks = CreateWindowExA(WS_EX_CLIENTEDGE, "EDIT", "", |
|
|
|
|
WS_CHILD | WS_VISIBLE | ES_READONLY, |
|
|
|
|
mx + 85, my, 100, 20, hWnd, (HMENU)IDC_EDIT_ETCP_ACKS, hInst, NULL); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CreateWindowExA(0, "STATIC", "Inflight:", |
|
|
|
|
WS_CHILD | WS_VISIBLE, mx + 200, my, 80, 20, hWnd, (HMENU)IDC_STATIC, hInst, NULL); |
|
|
|
|
app->hEditEtcpInflight = CreateWindowExA(WS_EX_CLIENTEDGE, "EDIT", "", |
|
|
|
|
WS_CHILD | WS_VISIBLE | ES_READONLY, |
|
|
|
|
mx + 285, my, 100, 20, hWnd, (HMENU)IDC_EDIT_ETCP_INFLIGHT, hInst, NULL); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
my += 25; |
|
|
|
|
CreateWindowExA(0, "STATIC", "Links:", |
|
|
|
|
WS_CHILD | WS_VISIBLE, mx, my, 80, 20, hWnd, (HMENU)IDC_STATIC, hInst, NULL); |
|
|
|
|
@ -738,6 +751,10 @@ static void CreateTooltips(struct etcpmon_app* app)
|
|
|
|
|
"etcp.bytes_sent_total / ETCP Connection\r\nTotal bytes sent since connection start"); |
|
|
|
|
AddTooltip(app->hToolTip, app->hEditEtcpRetrans, |
|
|
|
|
"etcp.retrans_count / ETCP Connection\r\nNumber of retransmissions (resent packets)"); |
|
|
|
|
AddTooltip(app->hToolTip, app->hEditEtcpRxDup, |
|
|
|
|
"etcp.rx_dup_count / ETCP Connection\r\nLocal received duplicate packets counter"); |
|
|
|
|
AddTooltip(app->hToolTip, app->hEditEtcpTxDup, |
|
|
|
|
"etcp.tx_dup_count / ETCP Connection\r\nRemote duplicate packets counter (from ACK)"); |
|
|
|
|
AddTooltip(app->hToolTip, app->hEditEtcpAcks, |
|
|
|
|
"etcp.ack_count / ETCP Connection\r\nNumber of received ACK packets (confirmations)"); |
|
|
|
|
AddTooltip(app->hToolTip, app->hEditEtcpInflight, |
|
|
|
|
@ -1226,6 +1243,8 @@ void etcpmon_gui_update_metrics(struct etcpmon_app* app,
|
|
|
|
|
UpdateEditIfChanged(hMain, IDC_EDIT_ETCP_JITTER, "%.1f ms", metrics->etcp.jitter/10.f); |
|
|
|
|
UpdateEditIfChanged(hMain, IDC_EDIT_ETCP_BYTES_SENT, "%llu", (unsigned long long)metrics->etcp.bytes_sent_total); |
|
|
|
|
UpdateEditIfChanged(hMain, IDC_EDIT_ETCP_RETRANS, "%u", metrics->etcp.retrans_count); |
|
|
|
|
UpdateEditIfChanged(hMain, IDC_EDIT_ETCP_RX_DUP, "%u", metrics->etcp.rx_dup_count); |
|
|
|
|
UpdateEditIfChanged(hMain, IDC_EDIT_ETCP_TX_DUP, "%u", metrics->etcp.tx_dup_count); |
|
|
|
|
UpdateEditIfChanged(hMain, IDC_EDIT_ETCP_ACKS, "%u", metrics->etcp.ack_count); |
|
|
|
|
UpdateEditIfChanged(hMain, IDC_EDIT_ETCP_INFLIGHT, "%u bytes", metrics->etcp.unacked_bytes); |
|
|
|
|
UpdateEditIfChanged(hMain, IDC_EDIT_ETCP_LINKS, "%u", metrics->etcp.links_count); |
|
|
|
|
@ -1373,6 +1392,8 @@ void etcpmon_gui_clear_metrics(struct etcpmon_app* app) {
|
|
|
|
|
SetDlgItemTextA(app->hWndMain, IDC_EDIT_ETCP_JITTER, ""); |
|
|
|
|
SetDlgItemTextA(app->hWndMain, IDC_EDIT_ETCP_BYTES_SENT, ""); |
|
|
|
|
SetDlgItemTextA(app->hWndMain, IDC_EDIT_ETCP_RETRANS, ""); |
|
|
|
|
SetDlgItemTextA(app->hWndMain, IDC_EDIT_ETCP_RX_DUP, ""); |
|
|
|
|
SetDlgItemTextA(app->hWndMain, IDC_EDIT_ETCP_TX_DUP, ""); |
|
|
|
|
SetDlgItemTextA(app->hWndMain, IDC_EDIT_ETCP_ACKS, ""); |
|
|
|
|
SetDlgItemTextA(app->hWndMain, IDC_EDIT_ETCP_INFLIGHT, ""); |
|
|
|
|
SetDlgItemTextA(app->hWndMain, IDC_EDIT_ETCP_LINKS, ""); |
|
|
|
|
|