1
This commit is contained in:
1 parent
04d3a0e52e
commit
cec2ffe2eb
4 files changed
+19
-16
No files matched your search
+15
-13
@@ -19,7 +19,7 @@
|
||||
//#pragma comment(lib, "comctl32.lib")
|
||||
//#pragma comment(lib, "user32.lib")
|
||||
//#pragma comment(lib, "gdi32.lib")
|
||||
#define WINDOW_WIDTH 900
|
||||
#define WINDOW_WIDTH 1000
|
||||
#define WINDOW_HEIGHT 1250
|
||||
#define UPDATE_INTERVAL 10 /* 50ms → 20 samples per second */
|
||||
/* Global app pointer for callbacks */
|
||||
@@ -144,8 +144,8 @@ HWND etcpmon_gui_create_window(struct etcpmon_app* app) {
|
||||
}
|
||||
|
||||
/* Set default values */
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_ADDR, "127.0.0.1");
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_PORT, "9090");
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_ADDR, "192.168.40.1");
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_PORT, "9091");
|
||||
UpdateUIState(app);
|
||||
OnConnect(app);
|
||||
|
||||
@@ -159,7 +159,7 @@ static void CreateControls(struct etcpmon_app* app) {
|
||||
/* Connection group */
|
||||
CreateWindowExA(0, "BUTTON", "Connection",
|
||||
WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
|
||||
x, y, 880, 60, hWnd, (HMENU)IDC_STATIC, hInst, NULL);
|
||||
x, y, WINDOW_WIDTH - 20, 60, hWnd, (HMENU)IDC_STATIC, hInst, NULL);
|
||||
|
||||
/* Address label and edit */
|
||||
CreateWindowExA(0, "STATIC", "Server:",
|
||||
@@ -253,7 +253,7 @@ static void CreateControls(struct etcpmon_app* app) {
|
||||
y = 485;
|
||||
CreateWindowExA(0, "BUTTON", "ETCP Metrics",
|
||||
WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
|
||||
x, y, 430, 210, hWnd, (HMENU)IDC_STATIC, hInst, NULL);
|
||||
x, y, (WINDOW_WIDTH - 40) / 2, 210, hWnd, (HMENU)IDC_STATIC, hInst, NULL);
|
||||
|
||||
int mx = x + 10, my = y + 20;
|
||||
|
||||
@@ -323,10 +323,11 @@ static void CreateControls(struct etcpmon_app* app) {
|
||||
mx + 85, my, 100, 20, hWnd, (HMENU)IDC_EDIT_ETCP_LINKS, hInst, NULL);
|
||||
|
||||
/* TUN/Routing Metrics group - right of ETCP Metrics */
|
||||
x = 460; y = 485;
|
||||
int group_w = (WINDOW_WIDTH - 40) / 2;
|
||||
x = 10 + group_w + 20; y = 485;
|
||||
CreateWindowExA(0, "BUTTON", "TUN/Routing Metrics",
|
||||
WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
|
||||
x, y, 430, 210, hWnd, (HMENU)IDC_STATIC, hInst, NULL);
|
||||
x, y, group_w, 210, hWnd, (HMENU)IDC_STATIC, hInst, NULL);
|
||||
|
||||
mx = x + 10; my = y + 20;
|
||||
|
||||
@@ -441,13 +442,13 @@ static void CreateControls(struct etcpmon_app* app) {
|
||||
|
||||
app->hListLinks = CreateWindowExA(WS_EX_CLIENTEDGE, "LISTBOX", "",
|
||||
WS_CHILD | WS_VISIBLE | LBS_NOTIFY | WS_VSCROLL | LBS_NOINTEGRALHEIGHT,
|
||||
10, y + 20, 880, 160, hWnd, (HMENU)IDC_LIST_LINKS, hInst, NULL);
|
||||
10, y + 20, WINDOW_WIDTH - 20, 160, hWnd, (HMENU)IDC_LIST_LINKS, hInst, NULL);
|
||||
|
||||
/* Queues & Errors group - below Links */
|
||||
y = 915;
|
||||
CreateWindowExA(0, "BUTTON", "Queues & Errors",
|
||||
WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
|
||||
10, y, 880, 335, hWnd, (HMENU)IDC_STATIC_QUEUES, hInst, NULL);
|
||||
10, y, WINDOW_WIDTH - 20, 335, hWnd, (HMENU)IDC_STATIC_QUEUES, hInst, NULL);
|
||||
|
||||
int qy = y + 22;
|
||||
int q_col1 = 20;
|
||||
@@ -481,6 +482,9 @@ static void CreateControls(struct etcpmon_app* app) {
|
||||
app->hEditQWaitAckPkts = CreateWindowExA(WS_EX_CLIENTEDGE, "EDIT", "",
|
||||
WS_CHILD | WS_VISIBLE | ES_READONLY | ES_CENTER,
|
||||
q_col3 + 135, qy - 2, 50, 18, hWnd, (HMENU)IDC_EDIT_Q_WAIT_ACK_PKTS, hInst, NULL);
|
||||
app->hEditQWaitAckOptInfl = CreateWindowExA(WS_EX_CLIENTEDGE, "EDIT", "",
|
||||
WS_CHILD | WS_VISIBLE | ES_READONLY | ES_CENTER,
|
||||
q_col3 + 190, qy - 2, 60, 18, hWnd, (HMENU)IDC_EDIT_WAITACK_OPT_INFL, hInst, NULL);
|
||||
|
||||
/* Queue metrics - row 2 */
|
||||
qy += 28;
|
||||
@@ -548,9 +552,6 @@ static void CreateControls(struct etcpmon_app* app) {
|
||||
app->hEditWaitAckTimer = CreateWindowExA(WS_EX_CLIENTEDGE, "EDIT", "",
|
||||
WS_CHILD | WS_VISIBLE | ES_READONLY | ES_CENTER,
|
||||
q_col1 + 195, qy - 2, 60, 18, hWnd, (HMENU)IDC_EDIT_WAITACK_TIMER, hInst, NULL);
|
||||
app->hEditWaitAckOptInfl = CreateWindowExA(WS_EX_CLIENTEDGE, "EDIT", "",
|
||||
WS_CHILD | WS_VISIBLE | ES_READONLY | ES_CENTER,
|
||||
q_col1 + 260, qy - 2, 60, 18, hWnd, (HMENU)IDC_EDIT_WAITACK_OPT_INFL, hInst, NULL);
|
||||
|
||||
/* ID metrics - row 4 */
|
||||
// qy += 30;
|
||||
@@ -984,6 +985,7 @@ void etcpmon_gui_update_metrics(struct etcpmon_app* app,
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_Q_IN_SEND_PKTS, "%u", metrics->etcp.input_send_q_packets);
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_Q_WAIT_ACK_BYTES, "%u", metrics->etcp.input_wait_ack_bytes);
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_Q_WAIT_ACK_PKTS, "%u", metrics->etcp.input_wait_ack_packets);
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_WAITACK_OPT_INFL, "%u", metrics->etcp.optimal_inflight);
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_Q_ACK_BYTES, "%u", metrics->etcp.ack_q_bytes);
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_Q_ACK_PKTS, "%u", metrics->etcp.ack_q_packets);
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_Q_RECV_BYTES, "%u", metrics->etcp.recv_q_bytes);
|
||||
@@ -1004,7 +1006,6 @@ void etcpmon_gui_update_metrics(struct etcpmon_app* app,
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_WAITACK_SUSP, "%s", metrics->etcp.wait_ack_cb_suspended ? "ON" : "OFF");
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_WAITACK_CB, "%s", metrics->etcp.wait_ack_cb_set ? "ON" : "OFF");
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_WAITACK_TIMER, "%s", metrics->etcp.wait_ack_resume_timeout ? "ON" : "OFF");
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_WAITACK_OPT_INFL, "%u", metrics->etcp.optimal_inflight);
|
||||
|
||||
/* ID Metrics */
|
||||
UpdateEditIfChanged(hMain, IDC_EDIT_ID_NEXT_TX, "%u", metrics->etcp.next_tx_id);
|
||||
@@ -1125,6 +1126,7 @@ void etcpmon_gui_clear_metrics(struct etcpmon_app* app) {
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_Q_IN_SEND_PKTS, "");
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_Q_WAIT_ACK_BYTES, "");
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_Q_WAIT_ACK_PKTS, "");
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_WAITACK_OPT_INFL, "");
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_Q_ACK_BYTES, "");
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_Q_ACK_PKTS, "");
|
||||
SetDlgItemTextA(app->hWndMain, IDC_EDIT_Q_RECV_BYTES, "");
|
||||
|
||||
@@ -231,6 +231,7 @@ struct etcpmon_app {
|
||||
HWND hEditQInSendPkts;
|
||||
HWND hEditQWaitAckBytes;
|
||||
HWND hEditQWaitAckPkts;
|
||||
HWND hEditQWaitAckOptInfl;
|
||||
HWND hEditQAckBytes;
|
||||
HWND hEditQAckPkts;
|
||||
HWND hEditQRecvBytes;
|
||||
@@ -251,7 +252,6 @@ struct etcpmon_app {
|
||||
HWND hEditWaitAckSuspend;
|
||||
HWND hEditWaitAckCb;
|
||||
HWND hEditWaitAckTimer;
|
||||
HWND hEditWaitAckOptInfl;
|
||||
|
||||
/* ID metrics */
|
||||
HWND hEditIdNextTx;
|
||||
|
||||
Reference in new issue
Block a user