support client ports
This commit is contained in:
parent
b4cdf34011
commit
946295ca80
1 changed files with 15 additions and 0 deletions
|
@ -34,6 +34,8 @@ int streq(char* s1, char* s2) {
|
|||
return strcmp(s1, s2) == 0;
|
||||
}
|
||||
|
||||
GHashTable* measurements;
|
||||
|
||||
struct evt_core_fdinfo* register_timer(struct evt_core_ctx* evts, struct measlat_ctx* mctx, struct measure_state* ms, struct timespec* next_tick) {
|
||||
struct timespec now;
|
||||
struct itimerspec timer_config;
|
||||
|
@ -188,6 +190,9 @@ int on_tcp_co(struct evt_core_ctx* ctx, struct evt_core_fdinfo* fdinfo) {
|
|||
sprintf(to_fdinfo.url, "tcp:read:127.0.0.1:%s", port);
|
||||
evt_core_add_fd (ctx, &to_fdinfo);
|
||||
|
||||
uint16_t myPort = ntohs(addr.sin_port);
|
||||
printf("client port is %u\n", myPort);
|
||||
|
||||
return 0;
|
||||
|
||||
co_error:
|
||||
|
@ -396,8 +401,14 @@ void spawn_tcp_client(struct evt_core_ctx* evts) {
|
|||
printf("--- TCP client registered\n");
|
||||
|
||||
struct measure_state ms = {0};
|
||||
struct sockaddr_in my_addr;
|
||||
socklen_t my_addr_len = sizeof(my_addr);
|
||||
ms.fd = tcp_sock;
|
||||
measure_state_init (&mctx->mp, &ms);
|
||||
getsockname(tcp_sock, (struct sockaddr *) &my_addr, &my_addr_len);
|
||||
uint16_t myPort = ntohs(my_addr.sin_port);
|
||||
printf("client port is %u\n", myPort);
|
||||
|
||||
register_timer (evts, mctx, &ms, NULL);
|
||||
}
|
||||
|
||||
|
@ -448,6 +459,8 @@ int main(int argc, char** argv) {
|
|||
setvbuf(stdout, NULL, _IONBF, 0);
|
||||
printf("~ measlat ~\n");
|
||||
|
||||
measurements = g_hash_table_new_full(g_int_hash, g_int_equal, NULL, free_ms);
|
||||
|
||||
int opt;
|
||||
struct measlat_ctx mctx = {0};
|
||||
struct evt_core_ctx evts = {0};
|
||||
|
@ -521,8 +534,10 @@ int main(int argc, char** argv) {
|
|||
// 5. Run main loop
|
||||
evt_core_loop(&evts);
|
||||
|
||||
g_hash_table_destroy (measurements);
|
||||
return 0;
|
||||
usage:
|
||||
g_hash_table_destroy (measurements);
|
||||
fprintf(stderr, "Usage: %s [-h <host>] [-p <port>] [-l] [-r] [-t <udp|tor>] [-c <count>] [-i <ms>] [-s <bytes>]\n", argv[0]);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue