[PD-dev] mrpeach/tcpserver one last lingering bug
Roman Haefeli
reduzierer at yahoo.de
Thu May 6 11:10:49 CEST 2010
Hi all
Sorry to barge in without myself being involved in the matters, but I
remember, that also IOhannes was working on addressing some issues of
[tcpserver]. His results are in svn/externals/iem/iemnet. I haven't
thoroughly tested, if those versions already solved the issues Ivica was
posting. However, I thought it's worth mentioning those as well, so that
forces might be joined. I have the impression, that similar problems are
worked on twice on two completely different ends.
Roman
On Wed, 2010-05-05 at 23:57 -0400, Martin Peach wrote:
> Ivica Ico Bukvic wrote:
> > Martin,
> >
> ...
> > please send me a brief flow of functions "broadcast" calls so that I can figure out where to look for potential fixes/improvements.
>
> Well broadcast calls tcpserver_send_bytes() once for each connected client.
> tcpserver_send_bytes() fills a buffer from the input message and spawns
> a thread running tcpserver_send_buf_thread() to send the content
> whenever the buffer is full or the message is completely converted from
> atoms to bytes.
>
> I think as long as your messages all fit in a single buffer it's a lot
> easier. The snag is that tcpserver_send_bytes() can fill the buffer more
> than once for each message if the message is > 64k.
> Apart from that, to skip redundant conversion of atom to byte and
> multiple thread creation, I would make a single buffer from the input
> and pass it to a single thread that sends the same buffer to each
> connected client.
> Since the current tcpserver_send_bytes() can also be used to send very
> long files, it may be better to make a dedicated broadcast function that
> only does small packets (less than 65536 bytes), as broadcasting
> megabytes to many clients will no doubt peg the machine.
>
> Martin
>
>
>
>
>
> _______________________________________________
> Pd-dev mailing list
> Pd-dev at iem.at
> http://lists.puredata.info/listinfo/pd-dev
More information about the Pd-dev
mailing list