From f89ae0b4b20758b0d2e7783a898c045546e19e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Tue, 30 Mar 2010 09:46:56 +0000 Subject: query queue sizes with [tcpclient] use [bang( with [tcpserver] use [client ( svn path=/trunk/externals/iem/iemnet/; revision=13312 --- tcpclient.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'tcpclient.c') diff --git a/tcpclient.c b/tcpclient.c index d177f89..013fb75 100644 --- a/tcpclient.c +++ b/tcpclient.c @@ -68,6 +68,31 @@ static void tcpclient_receive_callback(void *x, +static void tcpclient_info(t_tcpclient *x) +{ + // "server " + // "bufsize " + static t_atom output_atom[3]; + if(x&&x->x_connectstate) { + int sockfd = x->x_fd; + unsigned short port = x->x_port; + const char*hostname=x->x_hostname; + + int insize =iemnet__receiver_getsize(x->x_receiver); + int outsize=iemnet__sender_getsize (x->x_sender ); + + SETFLOAT (output_atom+0, sockfd); + SETSYMBOL(output_atom+1, gensym(hostname)); + SETFLOAT (output_atom+2, port); + + outlet_anything( x->x_statusout, gensym("server"), 3, output_atom); + + SETFLOAT (output_atom+0, insize); + SETFLOAT (output_atom+1, outsize); + outlet_anything( x->x_statusout, gensym("bufsize"), 2, output_atom); + } +} + /* connection handling */ static void *tcpclient_child_connect(void *w) @@ -247,6 +272,8 @@ IEMNET_EXTERN void tcpclient_setup(void) class_addmethod(tcpclient_class, (t_method)tcpclient_send, gensym("send"), A_GIMME, 0); class_addlist(tcpclient_class, (t_method)tcpclient_send); + class_addbang(tcpclient_class, (t_method)tcpclient_info); + -- cgit v1.2.1