diff options
author | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2010-03-30 09:46:56 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2010-03-30 09:46:56 +0000 |
commit | f89ae0b4b20758b0d2e7783a898c045546e19e34 (patch) | |
tree | a699c3450e9ea905d4de63c86ce1dbdfbb46683d /tcpserver.c | |
parent | c4836ce4a969a6493606fe1c136d654c8777d6ec (diff) |
query queue sizes
with [tcpclient] use [bang(
with [tcpserver] use [client <x>(
svn path=/trunk/externals/iem/iemnet/; revision=13312
Diffstat (limited to 'tcpserver.c')
-rw-r--r-- | tcpserver.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/tcpserver.c b/tcpserver.c index ff78d84..8e3dfb3 100644 --- a/tcpserver.c +++ b/tcpserver.c @@ -152,13 +152,18 @@ static int tcpserver_fixindex(t_tcpserver*x, int client) /* ---------------- tcpserver info ---------------------------- */ static void tcpserver_info_client(t_tcpserver *x, int client) { - // "client <id> <socket> <IP> <port> + // "client <id> <socket> <IP> <port>" + // "bufsize <id> <insize> <outsize>" static t_atom output_atom[4]; if(x&&x->x_sr&&x->x_sr[client]) { int sockfd = x->x_sr[client]->sr_fd; unsigned short port = x->x_sr[client]->sr_port; long address = x->x_sr[client]->sr_host; char hostname[MAXPDSTRING]; + + int insize =iemnet__receiver_getsize(x->x_sr[client]->sr_receiver); + int outsize=iemnet__sender_getsize (x->x_sr[client]->sr_sender ); + snprintf(hostname, MAXPDSTRING-1, "%d.%d.%d.%d", (address & 0xFF000000)>>24, (address & 0x0FF0000)>>16, @@ -172,6 +177,11 @@ static void tcpserver_info_client(t_tcpserver *x, int client) SETFLOAT (output_atom+3, port); outlet_anything( x->x_statout, gensym("client"), 4, output_atom); + + SETFLOAT (output_atom+0, client+1); + SETFLOAT (output_atom+1, insize); + SETFLOAT (output_atom+2, outsize); + outlet_anything( x->x_statout, gensym("bufsize"), 3, output_atom); } } |