diff options
author | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2010-03-26 14:32:18 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2010-03-26 14:32:18 +0000 |
commit | 7c8ce3f27c6ec82d797a85aa79595739396b0acd (patch) | |
tree | 1e0e38ebd3d3bdd2e79ff5b5ac9b07c24c9e1c21 /tcpserver.c | |
parent | 73df569a2b83a21324834acfa1e661843ecd18dc (diff) |
compatibility with mrpeach; convenience
re-add all those stupid outlets.
use convenience functions to send data to these outlets
svn path=/trunk/externals/iem/iemnet/; revision=13276
Diffstat (limited to 'tcpserver.c')
-rw-r--r-- | tcpserver.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/tcpserver.c b/tcpserver.c index e56748a..3a15c31 100644 --- a/tcpserver.c +++ b/tcpserver.c @@ -54,7 +54,9 @@ typedef struct _tcpserver t_object x_obj; t_outlet *x_msgout; t_outlet *x_connectout; - t_outlet *x_status_outlet; + t_outlet *x_sockout; // legacy + t_outlet *x_addrout; // legacy + t_outlet *x_status_outlet; t_tcpserver_socketreceiver *x_sr[MAX_CONNECT]; /* socket per connection */ t_int x_nconnections; @@ -308,6 +310,7 @@ static void tcpserver_receive_callback(void *y0, if(NULL==y || NULL==(x=y->sr_owner))return; if(argc) { + iemnet__addrout(x->x_status_outlet, x->x_addrout, c->addr, c->port); outlet_list(x->x_msgout, gensym("list"), argc, argv); } else { // disconnected @@ -374,7 +377,12 @@ static void *tcpserver_new(t_floatarg fportno) } x = (t_tcpserver *)pd_new(tcpserver_class); + x->x_msgout = outlet_new(&x->x_obj, 0); /* 1st outlet for received data */ + x->x_connectout = outlet_new(&x->x_obj, gensym("float")); /* 2nd outlet for number of connected clients */ + x->x_sockout = outlet_new(&x->x_obj, gensym("float")); + x->x_addrout = outlet_new(&x->x_obj, gensym("list" )); + x->x_status_outlet = outlet_new(&x->x_obj, 0);/* 5th outlet for everything else */ @@ -388,9 +396,11 @@ static void *tcpserver_new(t_floatarg fportno) else { sys_addpollfn(sockfd, (t_fdpollfn)tcpserver_connectpoll, x); // wait for new connections - x->x_connectout = outlet_new(&x->x_obj, gensym("float")); /* 2nd outlet for number of connected clients */ - x->x_status_outlet = outlet_new(&x->x_obj, 0);/* 5th outlet for everything else */ } + + + + x->x_connectsocket = sockfd; x->x_nconnections = 0; |