<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Bug when sending segmented messages]]></title><description><![CDATA[<pre><code>        if (segmentsRequired &gt; request.getMaxSegmentsAccepted() || segmentsRequired &gt; 128)
            throw new BACnetException("Response too big to send to device; too many segments required:" + segmentsRequired + ", accepted: " + request.getMaxSegmentsAccepted());
</code></pre>
<p dir="auto">above the code to determine the amount of acceptable segment messages.</p>
<p dir="auto">the implementation for getMaxSegmentsAccepted is wrong. it is defined as a bitmap.<br />
so we should change that piece of code to:</p>
<pre><code>    public int getMaxSegmentsAccepted() {
    	switch (maxSegmentsAccepted)
    	{
    	case 0:
    		return 64;
    	case 1:
    		return 2;
    	case 2:
    		return 4;
    	case 3:
    		return 8;
    	case 4:
    		return 16;
    	case 5:
    		return 32;
    	case 6:
    		return 64;
    	case 7:
    		return 128;
    	
    	}
    	// 3 bits - we can't get here
        return 64;
    }

</code></pre>
<p dir="auto">this is in the class ConfirmedRequest.</p>
<p dir="auto">regards<br />
robert</p>
]]></description><link>https://forum.mango-os.com/topic/818/bug-when-sending-segmented-messages</link><generator>RSS for Node</generator><lastBuildDate>Tue, 12 May 2026 00:13:54 GMT</lastBuildDate><atom:link href="https://forum.mango-os.com/topic/818.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Apr 2011 19:35:10 GMT</pubDate><ttl>60</ttl></channel></rss>