<div>We are using it (udp)&nbsp;to burst&nbsp;a search request to hundreds or thousands of machines. Sending using TCP degrades as more machines are added to the network - even when using our custom connection pooling we still see degradation - using udp provides much better performance (and we cannot use multicast). Our message size is a maximum of 5K, - btw - we use netty tcp elsewhere when reliablity is required.&nbsp;</div>

<div>Cheers Neil.<br><br></div>
<div class="gmail_quote">2009/6/26 &quot;ÀÌÈñ½Â (Trustin Lee)&quot; <span dir="ltr">&lt;<a href="mailto:trustin@gmail.com">trustin@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">By the way, please let me know if you think the default (768) is not sane and should be increased. &nbsp;I&#39;m not really a UDP expert so other people&#39;s suggestion is appreciated.<br>
<br>Thanks<br><br>ÀÌÈñ½Â (Trustin Lee) wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi Neil,<br><br>It&#39;s because the default receiveBufferSizePredictor of DatagramChannel<br>is FixedReceiveBufferSizePredictor(768). &nbsp;You can configure the channel<br>
to a FixedReceiveBufferSizePredictor with different payload size. &nbsp;For<br>example:<br><br>&nbsp; DatagramChannel ch = ...;<br>&nbsp; ch.getConfig().setReceiveBufferSizePredictor(<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new FixedReceiveBufferSizePredictor(1024));<br>
<br>or:<br><br>&nbsp; ConnectionlessBootstrap b = ...;<br>&nbsp; b.setOption(&quot;receiveBufferSizePredictor&quot;,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new FixedReceiveBufferSizePredictor(1024));<br><br>BTW, I wouldn&#39;t recommend to using AdaptiveReceiveBufferSizePrediector<br>
for datagrams.<br><br>HTH,<br>Trustin<br><br>On 2009-06-25 ¿ÀÀü 4:49, neilson9 wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi,<br><br>Im having a couple of problems sending UDP byte[]&gt; &nbsp;768K<br><br>For example if Im passing 1024bytes the buffer.readIndex does not get<br>
updated. The sender only passes 768 bytes and if I manually set the<br>readIndex to 768 it sends another 768 bytes on the second send. I would like<br>to iterate of the byte[] and use the offsets to prevent copying data etc.<br>
<br>Any help appreciated.<br>Regards Neil.<br><br>For example:<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;byte[] payload = userdata....;<br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; channel = (DatagramChannel) b.bind(new InetSocketAddress(0));<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ChannelBuffer buffer = dynamicBuffer(bytes.length);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buffer.writeBytes(bytes);<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LOGGER.info(&quot;Sending:&quot; + bytes.length + &quot; sent:&quot; + buffer.readerIndex());<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ChannelFuture channelFuture = channel.write(buffer, new<br>
InetSocketAddress(uri.getHost(), port));<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// manually setting to see if it sends the remainder<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buffer.readerIndex(768);<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; channelFuture = channel.write(buffer, new<br>
InetSocketAddress(uri.getHost(), port));<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LOGGER.info(&quot;Sending:&quot; + buffer.readerIndex());<br><br><br></blockquote><br><br><br>------------------------------------------------------------------------<br>
<br>_______________________________________________<br>netty-users mailing list<br><a href="mailto:netty-users@lists.jboss.org" target="_blank">netty-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br>
</blockquote><br><br>-- <br>Trustin Lee, <a href="http://gleamynode.net/" target="_blank">http://gleamynode.net</a><br><br>_______________________________________________<br>netty-users mailing list<br><a href="mailto:netty-users@lists.jboss.org" target="_blank">netty-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br></blockquote></div><br>