aboutsummaryrefslogtreecommitdiff
path: root/tcpserver.c
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2010-03-30 09:46:56 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2010-03-30 09:46:56 +0000
commitf89ae0b4b20758b0d2e7783a898c045546e19e34 (patch)
treea699c3450e9ea905d4de63c86ce1dbdfbb46683d /tcpserver.c
parentc4836ce4a969a6493606fe1c136d654c8777d6ec (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.c12
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);
}
}